Message: RE: Most efficient way to store track info on particles as they enter a senstive detector Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None RE: Most efficient way to store track info on particles as they enter a senstive detector  

Forum: Hits, Digitization and Pileup
Re: None Most efficient way to store track info on particles as they enter a senstive detector (Robert Penny)
Re: None RE: Most efficient way to store track info on particles as they enter a senstive detector (Makoto Asai)
Date: 03 Dec, 2009
From: Robert Penny <Robert Penny>

Thanks Makoto.  It -does- look like everything I needs is in the
G4StepPoint.  I should have seen that.  My bad.  Thanks so much!

The beauty of this is that most of the work I've done today in creating
my sensitive detector with two custom hit classes will work almost
immediately.

-Rob.

On Thu, 2009-12-03 at 17:52 -0800, Asai, Makoto wrote:
> Hi Robert,
> 
> G4StepPoint has pretty much all the information of the step
> (and the track) at that point. 
> 
> > (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:robert.d.penny@saic.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
> > 
> > 
> > *** Discussion title: Hits, Digitization and Pileup
> > 
> > Hi,
> > 
> > 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.
> > 
> > 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.
> > 
> > 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.
> > 
> >   if (post_pt->GetStepStatus () == fGeomBoundary
> >                  && post_pt->GetPhysicalVolume () == myTrackerPV)
> > 
> > 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.
> > 
> > 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.
> > 
> > However... the problem is:
> > 
> > (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.)
> > 
> > (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.
> > 
> > (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.
> > 
> > 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.
> > 
> > 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?
> > 
> > Thanks,
> > 
> > --
> > Robert D. Penny <robert.d.penny@saic.com>
> > 
> > -------------------------------------------------------------
> > 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
-- 
Robert D. Penny <robert.d.penny@saic.com>

 Add Message Add Message
to: "RE: Most efficient way to store track info on particles as they enter a senstive detector "

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]