37 #include "Analysis.hh"
39 #include "SteppingAction.hh"
40 #include "RunAction.hh"
41 #include "DetectorConstruction.hh"
42 #include "PrimaryGeneratorAction.hh"
111 if (partDef == instance->
GetIon(
"hydrogen"))
114 if (partDef == instance->
GetIon(
"alpha+"))
117 if (partDef == instance->
GetIon(
"helium"))
144 const G4String& processName = postStep->
145 GetProcessDefinedStep()->GetProcessName();
147 if (processName==
"Capture") flagProcess =1;
150 else if (flagParticle == 1)
153 if (procID==58) flagProcess =10;
154 else if (procID==51) flagProcess =11;
155 else if (procID==52) flagProcess =12;
156 else if (procID==53) flagProcess =13;
157 else if (procID==55) flagProcess =14;
158 else if (procID==54) flagProcess =15;
159 else if (procID==10) flagProcess =110;
160 else if (procID==1) flagProcess =120;
161 else if (procID==2) flagProcess =130;
164 else if (flagParticle == 2)
167 if (procID==51) flagProcess =21;
168 else if (procID==52) flagProcess =22;
169 else if (procID==53) flagProcess =23;
170 else if (procID==56) flagProcess =24;
171 else if (procID==10) flagProcess =210;
172 else if (procID==1) flagProcess =220;
173 else if (procID==2) flagProcess =230;
174 else if (procID==8) flagProcess =240;
177 else if (flagParticle == 3)
180 if (procID==51) flagProcess =31;
181 else if (procID==52) flagProcess =32;
182 else if (procID==53) flagProcess =33;
183 else if (procID==57) flagProcess =35;
186 else if (flagParticle == 4)
189 if (procID==51) flagProcess =41;
190 else if (procID==52) flagProcess =42;
191 else if (procID==53) flagProcess =43;
192 else if (procID==56) flagProcess =44;
193 else if (procID==10) flagProcess =410;
194 else if (procID==1) flagProcess =420;
195 else if (procID==2) flagProcess =430;
196 else if (procID==8) flagProcess =440;
199 else if (flagParticle == 5)
202 if (procID==51) flagProcess =51;
203 else if (procID==52) flagProcess =52;
204 else if (procID==53) flagProcess =53;
205 else if (procID==56) flagProcess =54;
206 else if (procID==57) flagProcess =55;
207 else if (procID==10) flagProcess =510;
208 else if (procID==1) flagProcess =520;
209 else if (procID==2) flagProcess =530;
210 else if (procID==8) flagProcess =540;
213 else if (flagParticle == 6)
216 if (procID==51) flagProcess =61;
217 else if (procID==52) flagProcess =62;
218 else if (procID==53) flagProcess =63;
219 else if (procID==57) flagProcess =65;
223 else if (processName==
"GenericIon_G4DNAIonisation") flagProcess =73;
224 else if (processName==
"msc") flagProcess =710;
225 else if (processName==
"CoulombScat") flagProcess =720;
226 else if (processName==
"ionIoni") flagProcess =730;
227 else if (processName==
"nuclearStopping") flagProcess =740;
270 if (processName!=
"Transportation")
285 analysisManager->FillNtupleDColumn(0, flagParticle);
286 analysisManager->FillNtupleDColumn(1, flagProcess);
287 analysisManager->FillNtupleDColumn(2, x);
288 analysisManager->FillNtupleDColumn(3, y);
289 analysisManager->FillNtupleDColumn(4, z);
290 analysisManager->FillNtupleDColumn(5,
293 analysisManager->FillNtupleDColumn(6,
294 std::sqrt((x-xp)*(x-xp)+
295 (y-yp)*(y-yp)+(z-zp)*(z-zp)));
297 analysisManager->FillNtupleDColumn(7,
301 GetKineticEnergy())/
eV );
303 analysisManager->FillNtupleDColumn(8, preStep->
304 GetKineticEnergy()/
eV);
306 analysisManager->FillNtupleDColumn(9,
310 analysisManager->FillNtupleIColumn(10,
312 GetConstCurrentEvent()->GetEventID());
318 analysisManager->FillNtupleIColumn(13,
321 analysisManager->AddNtupleRow();
G4StepPoint * GetPreStepPoint() const
G4int GetCurrentStepNumber() const
G4ParticleDefinition * GetDefinition() const
static G4Proton * ProtonDefinition()
const G4ThreeVector & GetPosition() const
static G4EventManager * GetEventManager()
G4Track * GetTrack() const
const G4ThreeVector & GetMomentumDirection() const
G4double GetTotalEnergyDeposit() const
static constexpr double eV
G4CsvAnalysisManager G4AnalysisManager
G4StepPoint * GetPostStepPoint() const
void UserSteppingAction(const G4Step *)
static G4Electron * ElectronDefinition()
static G4Alpha * AlphaDefinition()
static G4Gamma * GammaDefinition()
G4ParticleDefinition * GetIon(const G4String &name)
static MCTruthManager * instance
static G4DNAGenericIonsManager * Instance(void)
const G4VProcess * GetProcessDefinedStep() const
const G4DynamicParticle * GetDynamicParticle() const
static constexpr double nanometer
G4int GetParentID() const
G4int GetProcessSubType() const