Message: Re: How to get track length of a primary particle at the end of event in the digitization Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: How to get track length of a primary particle at the end of event in the digitization 

Forum: Hits, Digitization and Pileup
Re: Question How to get track length of a primary particle at the end of event in the digitization (Soman)
Re: Idea Re: How to get track length of a primary particle at the end of event in the digitization (Michael H. Kelsey)
Re: Question Re: How to get track length of a primary particle at the end of event in the digitization (Soman)
Date: 21 Jul, 2017
From: Michael H. Kelsey <Michael H. Kelsey>

Soman writes:
> Thank you very much for your note. I'll check your approach and I hope
> it works for me. I'm just still wondering why G4Trajectory can't help me
> with this. Shouldn't G4Trajectory contain any information about all
> tracks and steps of an event?

No.  It contains a list of points in space, and is used for drawing.

Tracks (G4Track) are NOT kept through an event.  When a particle comes to
rest, the G4Track is deleted.


> I had found G4Trajectory(G4Track* aTrack),

That is a _constructor_ which is used to create a new G4Trajectory object
from an existing track.  That construction is handled by the tracking system
in the G4 toolkit; user code should not need it.

> ==================================================================
>   G4int fparentID = aTrack->GetParentID()
> 
>   if (fparentID == 0)
> 
>    G4double ftrackLength = aTRack->GetTrackLength();

You can certainly use this code block in your application's TrackingAction
(or anywhere else you have access to the real, correct track pointer.

> But the question is that how G4Trajectory keeps all tracks of a given
> event

It doesn't.  It stores a list of the points in space through which the
particle (track) travelled before it stopped.

> and how (or if) I can search between its tracks and implement above codes.

You can't.  If you're looking at all the G4Trajectory objects at the end of
the event, all the tracks have already been deleted.

You can collect the information about tracks while they still exist in your
TrackingAction.

I would recommend reading the Geant4 Application User's Guide, section 5.1
(Tracking) and chapter 6 (User Actions).

Good luck!
      -- Mike Kelsey

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Question: Re: How to get track length of a primary particle at the end of event in the digitization   (Soman - 21 Jul, 2017)
(_ None: Re: How to get track length of a primary particle at the end of event in the digitization   (Mike Kelsey - 21 Jul, 2017)
 Add Message Add Message
to: "Re: How to get track length of a primary particle at the end of event in the digitization"

 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 ]