37 #include "Analysis.hh"
39 #include "SteppingAction.hh"
40 #include "RunAction.hh"
41 #include "DetectorConstruction.hh"
42 #include "PrimaryGeneratorAction.hh"
112 GetDefinition()->GetParticleName();
114 GetProcessDefinedStep()->GetProcessName();
117 if (particleName ==
"e-") flagParticle = 1;
118 else if (particleName ==
"proton") flagParticle = 2;
119 else if (particleName ==
"hydrogen") flagParticle = 3;
120 else if (particleName ==
"alpha") flagParticle = 4;
121 else if (particleName ==
"alpha+") flagParticle = 5;
122 else if (particleName ==
"helium") flagParticle = 6;
125 if (processName==
"e-_G4DNAElastic") flagProcess =11;
126 else if (processName==
"e-_G4DNAExcitation") flagProcess =12;
127 else if (processName==
"e-_G4DNAIonisation") flagProcess =13;
128 else if (processName==
"e-_G4DNAAttachment") flagProcess =14;
129 else if (processName==
"e-_G4DNAVibExcitation") flagProcess =15;
131 else if (processName==
"proton_G4DNAExcitation") flagProcess =17;
132 else if (processName==
"proton_G4DNAIonisation") flagProcess =18;
133 else if (processName==
"proton_G4DNAChargeDecrease") flagProcess =19;
135 else if (processName==
"hydrogen_G4DNAExcitation") flagProcess =20;
136 else if (processName==
"hydrogen_G4DNAIonisation") flagProcess =21;
137 else if (processName==
"hydrogen_G4DNAChargeIncrease") flagProcess =22;
139 else if (processName==
"alpha_G4DNAExcitation") flagProcess =23;
140 else if (processName==
"alpha_G4DNAIonisation") flagProcess =24;
141 else if (processName==
"alpha_G4DNAChargeDecrease") flagProcess =25;
143 else if (processName==
"alpha+_G4DNAExcitation") flagProcess =26;
144 else if (processName==
"alpha+_G4DNAIonisation") flagProcess =27;
145 else if (processName==
"alpha+_G4DNAChargeDecrease") flagProcess =28;
146 else if (processName==
"alpha+_G4DNAChargeIncrease") flagProcess =29;
148 else if (processName==
"helium_G4DNAExcitation") flagProcess =30;
149 else if (processName==
"helium_G4DNAIonisation") flagProcess =31;
150 else if (processName==
"helium_G4DNAChargeIncrease") flagProcess =32;
152 if (processName!=
"Transportation")
165 analysisManager->FillNtupleDColumn(0, flagParticle);
166 analysisManager->FillNtupleDColumn(1, flagProcess);
167 analysisManager->FillNtupleDColumn(2, x);
168 analysisManager->FillNtupleDColumn(3, y);
169 analysisManager->FillNtupleDColumn(4, z);
171 analysisManager->FillNtupleDColumn(6,
172 std::sqrt((x-xp)*(x-xp)+
173 (y-yp)*(y-yp)+(z-zp)*(z-zp))/
nm);
174 analysisManager->FillNtupleDColumn(7,
178 GetKineticEnergy())/
eV );
180 GetConstCurrentEvent()->GetEventID());
181 analysisManager->AddNtupleRow();
const G4DynamicParticle * GetDynamicParticle() const
static const double nanometer
void UserSteppingAction(const G4Step *)
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetPosition() const
ExG4HbookAnalysisManager G4AnalysisManager
G4double GetTotalEnergyDeposit() const
G4StepPoint * GetPostStepPoint() const
const G4double x[NPOINTSGL]
static G4EventManager * GetEventManager()
G4Track * GetTrack() const