|Message: Re: How to make histogram of initial energies?||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. I also needed to access information on the particle(s) generated by GPS. You may do something like this in PrimaryGeneratorAction::GeneratePrimaries() : // generate the event particleSource->GeneratePrimaryVertex(theEvent); // particle energy G4double pE = particleSource->GetParticleEnergy(); // pos G4ThreeVector pos = particleSource->GetParticlePosition(); // PDG id G4int pdgid = particleSource->GetParticleDefinition()->GetPDGEncoding(); // momentum G4ThreeVector mom = particleSource->GetParticleMomentumDirection(); // print it G4cout << pdgid << " " << pos.x() << " " << pos.y() << " " << pos.z() << " " << mom.x() << " " << mom.y() << " " << mom.z() << " " << pE << G4endl; It gives all the information I need. BTW, "G4cout" could just as well be a C++ I/O stream. Or perhaps you could use ROOT I/O or LCIO. (Generally, it is a good idea to have some sort of global file manager handling your I/O.) BTW, when generating multiple vertices (i.e. particles) for the same event using GPS, the generation order (1, 2, 3, etc.) seems to correspond with the subsequently assigned track ids. This is probably only working in all cases of my app, because my particular setup does not manipulate the tracking stack. So they are tracked in order. I'm assuming you know how to book and fill histograms with a favorite analysis tool... As for creating the histogram with initial energies, I recommend doing this in the post-processing phase. For instance, you can use an AIDA implementation such as JAIDA to create 1D histos, and the I/O library for your hits format to read in data. If you implement the histograms within your detector simulation codes, the analysis code must be written in C++, whereas you can use an external Java tool such as JAS in post-processing. --JM
|Inline Depth:||Outline Depth:||Add message:|