|Message: Re: Problem with GetProcessName()||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)|
Hello Aram, Have you checked that "aTrack->GetCreatorProcess() != 0" ? I would guess that primary particles (ie the ones produced by the generator, which are those having aTrack->GetTrack() == 1) do not have a "GetProcessCreator()" defined. Cheers, Marc PS : I am a bit surprised that the lines : /// G4Track* aTrack = aStep->GetTrack(); if(aTrack->GetTrackID()==1) aTrack->GetCreatorProcess()->GetProcessName(); /// do not show the problem... Do you confirm you don't have problems with these lines ? Aram a écrit : > *** Discussion title: Event and Track Management > Email replies to PublicHyperNews@slac.stanford.edu must include: > In-Reply-To: <"/eventtrackmanage/816"@geant4-hn.slac.stanford.edu> > Subject: ...change this to be about your reply. > > Hi All, > > If I call aTrack->GetCreatorProcess()->GetProcessName() in a ProcessHits > function of a sensitive detector or in the SteppingAction my program > crashes. > > /// > G4Track* aTrack = aStep->GetTrack(); > if(aTrack->GetTrackID()==1) > G4cout<<aTrack->GetCreatorProcess()->GetProcessName()<<G4endl; > /// > > if I modify the above shown lines to look like: > > /// > G4Track* aTrack = aStep->GetTrack(); > if(aTrack->GetTrackID()==1) > aTrack->GetCreatorProcess()->GetProcessName(); > /// > > the problem goes away. I noticed that the program is crashing only for tackID=1. > I am puzzled.. is this the intended behavior for GetProcessName? > > thanks you, > > -Aram >
|Inline Depth:||Outline Depth:||Add message:|