36 #include "Analysis.hh"
38 #include "SteppingAction.hh"
39 #include "RunAction.hh"
40 #include "DetectorConstruction.hh"
41 #include "PrimaryGeneratorAction.hh"
47 #include "CommandLineParser.hh"
57 using namespace G4DNAPARSER;
108 if (partDef == instance->
GetIon(
"hydrogen"))
111 if (partDef == instance->
GetIon(
"alpha+"))
114 if (partDef == instance->
GetIon(
"helium"))
141 const G4String& processName = postStep->
142 GetProcessDefinedStep()->GetProcessName();
144 if (processName==
"eCapture") flagProcess =1;
147 else if (flagParticle == 1)
150 if (procID==58) flagProcess =10;
151 else if (procID==51) flagProcess =11;
152 else if (procID==52) flagProcess =12;
153 else if (procID==53) flagProcess =13;
154 else if (procID==55) flagProcess =14;
155 else if (procID==54) flagProcess =15;
156 else if (procID==10) flagProcess =110;
157 else if (procID==1) flagProcess =120;
158 else if (procID==2) flagProcess =130;
161 else if (flagParticle == 2)
164 if (procID==51) flagProcess =21;
165 else if (procID==52) flagProcess =22;
166 else if (procID==53) flagProcess =23;
167 else if (procID==56) flagProcess =24;
168 else if (procID==10) flagProcess =210;
169 else if (procID==1) flagProcess =220;
170 else if (procID==2) flagProcess =230;
171 else if (procID==8) flagProcess =240;
174 else if (flagParticle == 3)
177 if (procID==51) flagProcess =31;
178 else if (procID==52) flagProcess =32;
179 else if (procID==53) flagProcess =33;
180 else if (procID==57) flagProcess =35;
183 else if (flagParticle == 4)
186 if (procID==51) flagProcess =41;
187 else if (procID==52) flagProcess =42;
188 else if (procID==53) flagProcess =43;
189 else if (procID==56) flagProcess =44;
190 else if (procID==10) flagProcess =410;
191 else if (procID==1) flagProcess =420;
192 else if (procID==2) flagProcess =430;
193 else if (procID==8) flagProcess =440;
196 else if (flagParticle == 5)
199 if (procID==51) flagProcess =51;
200 else if (procID==52) flagProcess =52;
201 else if (procID==53) flagProcess =53;
202 else if (procID==56) flagProcess =54;
203 else if (procID==57) flagProcess =55;
204 else if (procID==10) flagProcess =510;
205 else if (procID==1) flagProcess =520;
206 else if (procID==2) flagProcess =530;
207 else if (procID==8) flagProcess =540;
210 else if (flagParticle == 6)
213 if (procID==51) flagProcess =61;
214 else if (procID==52) flagProcess =62;
215 else if (procID==53) flagProcess =63;
216 else if (procID==57) flagProcess =65;
219 else if (processName==
"GenericIon_G4DNAIonisation") flagProcess =73;
220 else if (processName==
"msc") flagProcess =710;
221 else if (processName==
"CoulombScat") flagProcess =720;
222 else if (processName==
"ionIoni") flagProcess =730;
223 else if (processName==
"nuclearStopping") flagProcess =740;
270 if (processName!=
"Transportation")
288 analysisManager->FillNtupleDColumn(0, flagParticle);
289 analysisManager->FillNtupleDColumn(1, flagProcess);
290 analysisManager->FillNtupleDColumn(2, x);
291 analysisManager->FillNtupleDColumn(3, y);
292 analysisManager->FillNtupleDColumn(4, z);
293 analysisManager->FillNtupleDColumn(5,
296 analysisManager->FillNtupleDColumn(6,
297 std::sqrt((x-xp)*(x-xp)+
298 (y-yp)*(y-yp)+(z-zp)*(z-zp)));
300 analysisManager->FillNtupleDColumn(7,
304 GetKineticEnergy())/
eV );
306 analysisManager->FillNtupleDColumn(8, preStep->
307 GetKineticEnergy()/
eV);
309 analysisManager->FillNtupleDColumn(9,
313 analysisManager->FillNtupleIColumn(10,
315 GetConstCurrentEvent()->GetEventID());
321 analysisManager->FillNtupleIColumn(13,
324 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
CommandLineParser * parser(0)
G4StepPoint * GetPostStepPoint() const
void UserSteppingAction(const G4Step *)
static G4Electron * ElectronDefinition()
static G4Alpha * AlphaDefinition()
static G4Gamma * GammaDefinition()
Command * GetCommandIfActive(const G4String &marker)
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