34 #include "SteppingAction.hh"
36 #include "HistoManager.hh"
92 if (target) targetName = target->
GetName();
93 nuclearChannel +=
" + " + targetName +
" --> ";
102 analysis->FillH1(ih,energy);
106 Pbalance += momentum;
108 nuclearChannel += partName +
" + ";
113 const std::vector<const G4Track*>* secondary
115 for (
size_t lp=0; lp<(*secondary).size(); lp++) {
116 particle = (*secondary)[lp]->GetDefinition();
119 G4double energy = (*secondary)[lp]->GetKineticEnergy();
128 else if (type ==
"nucleus") ih = 7;
129 else if (type ==
"meson") ih = 8;
130 else if (type ==
"baryon") ih = 9;
131 if (ih > 0) analysis->FillH1(ih,energy);
133 if (type ==
"nucleus") {
135 analysis->FillH1(12, A);
140 Pbalance += momentum;
142 fParticleFlag[particle]++;
149 analysis->FillH1(ih,Q);
151 analysis->FillH1(ih,Pbal);
155 const G4String conver[] = {
"0",
"",
"2 ",
"3 ",
"4 ",
"5 ",
"6 ",
"7 ",
"8 ",
"9 ",
156 "10 ",
"11 ",
"12 ",
"13 ",
"14 ",
"15 ",
"16 "};
157 std::map<G4ParticleDefinition*,G4int>::iterator ip;
158 for (ip = fParticleFlag.begin(); ip != fParticleFlag.end(); ip++) {
159 particle = ip->first;
161 G4int nb = ip->second;
162 if (nb > kMax) nb =
kMax;
168 if (ip != fParticleFlag.begin()) nuclearChannel +=
" + ";
169 nuclearChannel += Nb +
name;
175 fParticleFlag.clear();
G4ParticleDefinition * GetDefinition() const
void CountProcesses(G4String procName)
const G4String & GetName() const
void SetTargetXXX(G4bool)
G4double GetStepLength() const
G4StepStatus GetStepStatus() const
G4TrackStatus GetTrackStatus() const
G4ThreeVector GetMomentum() const
void UserSteppingAction(const G4Step *)
const G4Isotope * GetTargetIsotope()
const G4String & GetParticleName() const
G4StepPoint * GetPreStepPoint() const
void CountNuclearChannel(G4String, G4double)
double A(double temperature)
void SumTrack(G4double track)
static G4Proton * Proton()
const G4String & GetParticleType() const
static G4Neutron * Neutron()
const std::vector< const G4Track * > * GetSecondaryInCurrentStep() const
static G4Deuteron * Deuteron()
G4int GetAtomicMass() const
static G4RunManager * GetRunManager()
const G4VProcess * GetProcessDefinedStep() const
G4double energy(const ThreeVector &p, const G4double m)
G4StepPoint * GetPostStepPoint() const
virtual void AbortEvent()
G4double GetKineticEnergy() const
G4Track * GetTrack() const
G4CsvAnalysisManager G4AnalysisManager
G4Run * GetNonConstCurrentRun() const
void ParticleCount(G4String, G4double)