34 #include "SteppingAction.hh"
35 #include "RunAction.hh"
36 #include "HistoManager.hh"
87 if (target) targetName = target->
GetName();
88 nuclearChannel +=
" + " + targetName +
" --> ";
96 analysis->FillH1(ih,energy);
100 Pbalance += momentum;
102 nuclearChannel += partName +
" + ";
107 const std::vector<const G4Track*>* secondary
109 for (
size_t lp=0; lp<(*secondary).size(); lp++) {
110 particle = (*secondary)[lp]->GetDefinition();
114 G4double energy = (*secondary)[lp]->GetKineticEnergy();
117 if (charge > 3.) ih = 2;
123 else if (type ==
"nucleus") ih = 8;
124 else if (type ==
"meson") ih = 9;
125 else if (type ==
"baryon") ih = 10;
126 analysis->FillH1(ih,energy);
130 Pbalance += momentum;
132 fParticleFlag[particle]++;
139 analysis->FillH1(ih,Q);
141 analysis->FillH1(ih,Pbal);
144 const G4int kMax = 16;
145 const G4String conver[] = {
"0",
"",
"2 ",
"3 ",
"4 ",
"5 ",
"6 ",
"7 ",
"8 ",
"9 ",
146 "10 ",
"11 ",
"12 ",
"13 ",
"14 ",
"15 ",
"16 "};
147 std::map<G4ParticleDefinition*,G4int>::iterator ip;
148 for (ip = fParticleFlag.begin(); ip != fParticleFlag.end(); ip++) {
149 particle = ip->first;
151 G4int nb = ip->second;
152 if (nb > kMax) nb = kMax;
158 if (ip != fParticleFlag.begin()) nuclearChannel +=
" + ";
159 nuclearChannel += Nb +
name;
165 fParticleFlag.clear();
G4ParticleDefinition * GetDefinition() const
const G4String & GetName() const
G4double GetStepLength() const
G4StepStatus GetStepStatus() const
G4TrackStatus GetTrackStatus() const
G4ThreeVector GetMomentum() const
void CountProcesses(G4String procName)
void UserSteppingAction(const G4Step *)
const G4Isotope * GetTargetIsotope()
const G4String & GetParticleName() const
G4StepPoint * GetPreStepPoint() const
void CountNuclearChannel(G4String, G4double)
static G4Proton * Proton()
const G4String & GetParticleType() const
ExG4HbookAnalysisManager G4AnalysisManager
static G4Neutron * Neutron()
const std::vector< const G4Track * > * GetSecondaryInCurrentStep() const
void SumTrack(G4double track)
static G4Deuteron * Deuteron()
static G4RunManager * GetRunManager()
const G4VProcess * GetProcessDefinedStep() const
void ParticleCount(G4String, G4double)
G4StepPoint * GetPostStepPoint() const
virtual void AbortEvent()
G4double GetKineticEnergy() const
G4Track * GetTrack() const
G4double GetPDGCharge() const