|Message: Re: which nuclear reaction do my positrons come from?||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)|
thanks very much already for your help.
Hope you dont mind me following up with more questions.
I am trying to follow back to the process name, based on the example in the code. So in my Hit class I am going from the step, to the track, to the creator process. That seems to work fine.
When I want to go from the creator process to the process name, I encounter a problem. This is most likely a C++ mistake rather than a G4 question. I have spent some time trying different things, but I have not been able to debug the problem. I was wondering if you would mind taking a look. I attach the codes below.
This is the relevant passage of my hit class.
//============from the hit class=================
(...) newHit->SetParticleID(aStep->GetTrack()->GetDynamicParticle()->GetPDGcode()); newHit->SetStepLength(stepLength); newHit->SetDetectorAngle(angle);
const G4VProcess* tProc = aStep->GetTrack()->GetCreatorProcess(); G4String tmp =tProc->GetProcessName(); // <-- The problem is with this line. ####################
// if (tProc) newHit->SetProcessName(tProc->GetProcessName()); <-- I eventually intend to set the process name with this function. But have removed it for debugging //newHit->SetProcessName(aStep->GetTrack()->GetCreatorProcess()->GetProcessName()); < -- another attempt at setting the name, also removed for debugging
trackerCollection->insert( newHit ); // cout <<particleName<<endl; (...)
and this is my error message... (...)
src/ExN01TrackerSD.cc: In member function ‘virtual G4bool ExN01TrackerSD::ProcessHits(G4Step*, G4TouchableHistory*)’: src/ExN01TrackerSD.cc:73: error: invalid use of incomplete type ‘const struct G4VProcess’
/home/dcoxley/GATE/geant4.9.2.p03/include/G4StepPoint.hh:57: error: forward declaration of ‘const struct G4VProcess’ src/ExN01TrackerSD.cc:73: warning: unused variable ‘tmp’ src/ExN01TrackerSD.cc: In member function ‘virtual void ExN01TrackerSD::EndOfEvent(G4HCofThisEvent*)’: (...)
|Inline Depth:||Outline Depth:||Add message:|