|Message: RE: Most efficient way to store track info on particles as they enter a senstive detector||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
Hi Robert, G4StepPoint has pretty much all the information of the step (and the track) at that point.=20 > (2) If I trigger recording an hit where pre-step point was entry to the > sensitive detector region, it's too late to get the track information > for the particle on entry. It's already suffered an interaction event > within the detector and the track parameters will not be the parameters > of the particle as it first crossed into the detector. This is the *correct* place to get the track information. What you should look at is *not* G4Track but G4StepPoint object of pre-step point. http://www-geant4.kek.jp/lxr/source/track/include/G4StepPoint.hh You have all the necessary Get-methods. Makoto > -----Original Message----- > From: Robert D. Penny [mailto:email@example.com] > Sent: Thursday, December 03, 2009 5:42 PM > To: hitsdigits-g4hn > Subject: Most efficient way to store track info on particles as they > enter a senstive detector >=20 >=20 > *** Discussion title: Hits, Digitization and Pileup >=20 > Hi, >=20 > I'm looking for the most computationally efficient way of > characterizing > a position sensitive detector. I want to record both the energy > depositing events that take place within the volume of the detector, > and > to record characteristics of the particles at the point that they > crossed into the detector. >=20 > For recording the interactions within the detector volume I can simply > define a sensitive-detector class and an energy-depositing hit class, > then generate and store the hits in a hit collection within the > sensitive detector. The novice/N02 ExN02TrackerSD and ExN02TrackerHit > classes pretty much do exactly what I want. >=20 > To record the characteristics of the particles crossing into the > detector, I had initially installed a custom user stepping action and > on > every step checked whether the particle had crossed into the volume of > my sensitive detector. >=20 > if (post_pt->GetStepStatus () =3D=3D fGeomBoundary > && post_pt->GetPhysicalVolume () =3D=3D myTrackerPV) >=20 > This works fine. However, of course it means this test has to run on > every step of every particle being tracked. Probably not that big a > deal, but it does somewhat frustrate the way Geant tries to > compartmentalize things. >=20 > After attending the recent tutorial session at SLAC (which was great... > thank you so much guys!!!) I learned about the very slick voxelization > optimization that Geant uses when tracking particles. Ideally my code > would only be executed for particles tracking within my sensitive > detector. >=20 > However... the problem is: >=20 > (1) The sensitive detector only gets steps where the step has traversed > through some finite length of the sensitive detector region. The > sensitive detector doesn't get the step for the entry event where > post-step point was limited by entry to the sensitive detector volume. > (This is reasonable, because the energy loss along this step should be > associated with the volume the step came from, not the volume it has > just entered. However, it frustrates my attempt to get track info on > entry this way.) >=20 > (2) If I trigger recording an hit where pre-step point was entry to the > sensitive detector region, it's too late to get the track information > for the particle on entry. It's already suffered an interaction event > within the detector and the track parameters will not be the parameters > of the particle as it first crossed into the detector. >=20 > (3) To be able to reach back in time to the track status on the pre- > step > point, I'll need to do a test on every step and record the track info > on > the point of entry to the sensitive detector region. For this, I go > back to requiring a user stepping action test that executes on every > step. >=20 > I suppose I could just define two separate sensitive detector; a > volumetric detector that gets the energy depositing hits, and a very > thin particle traversal detector that is a sliver of vacuum on the > front > surface of my volumetric detector. My particle traversal detector > would > record hits on exit from its volume, triggered by post-step points that > lie on its surface. This setup would, at least, make use of Geant's > voxelization tracking optimization. >=20 > However, this all seems somewhat kludgey. Am I missing something? > Something like a property that could be set on a volume to trigger a > zero-length step on entry? >=20 > Thanks, >=20 > -- > Robert D. Penny <firstname.lastname@example.org> >=20 > ------------------------------------------------------------- > Visit this GEANT4 at hypernews.slac.stanford.edu message (to reply or > unsubscribe) at: > http://hypernews.slac.stanford.edu/HyperNews/geant4/get/hitsdigits/234. > html
|Inline Depth:||Outline Depth:||Add message:|