49 primaryAction(primary)
62 G4String oldVolumeName = aStep -> GetPreStepPoint()->
63 GetPhysicalVolume()-> GetName();
73 if(oldVolumeName !=
"phantom")
77 G4String volumeName = volume -> GetName();
78 if (volumeName ==
"phantom")
80 G4String particleName = (aStep -> GetTrack() -> GetDynamicParticle()
81 -> GetDefinition() -> GetParticleName());
83 G4double particleEnergy = aStep -> GetTrack() -> GetKineticEnergy();
85 if(aStep -> GetTrack() -> GetTrackID()!= 1)
88 if (particleName ==
"proton") analysisManager -> FillH1(1, particleEnergy/
MeV);
91 if (particleName ==
"neutron") analysisManager -> FillH1(2, particleEnergy/
MeV);
94 if (particleName ==
"pi+" || particleName ==
"pi-" ||particleName ==
"pi0" )
95 analysisManager -> FillH1(3,particleEnergy/
MeV);
97 if (particleName ==
"alpha") analysisManager -> FillH1(4, particleEnergy/
MeV);
110 G4Track* theTrack = aStep -> GetTrack();
113 if(theTrack-> GetTrackStatus() ==
fAlive) {
return; }
116 G4TrackVector* fSecondary = steppingManager -> GetfSecondary();
118 for(
size_t lp1=0;lp1<(*fSecondary).size(); lp1++)
122 G4String volumeName = (*fSecondary)[lp1] -> GetVolume() -> GetName();
123 G4String secondaryParticleName = (*fSecondary)[lp1]->GetDefinition() -> GetParticleName();
124 G4double secondaryParticleKineticEnergy = (*fSecondary)[lp1] -> GetKineticEnergy();
125 G4String process = (*fSecondary)[lp1]-> GetCreatorProcess()-> GetProcessName();
128 if (volumeName ==
"phantom")
131 if (secondaryParticleName ==
"proton") analysisManager -> FillH1(5, secondaryParticleKineticEnergy/
MeV);
135 if (secondaryParticleName ==
"neutron") analysisManager -> FillH1(6, secondaryParticleKineticEnergy/
MeV);
138 if (secondaryParticleName ==
"pi+" ||
139 secondaryParticleName ==
"pi-"||secondaryParticleName ==
"pi0")
140 analysisManager -> FillH1(7, secondaryParticleKineticEnergy/
MeV);
143 if (secondaryParticleName ==
"alpha")
144 analysisManager -> FillH1(8, secondaryParticleKineticEnergy/
MeV);
154 if (hadronic ==
"On")
156 if(aStep -> GetPostStepPoint() -> GetProcessDefinedStep() != NULL)
158 G4String process = aStep -> GetPostStepPoint() ->
159 GetProcessDefinedStep() ->GetProcessName();
161 if ((process !=
"Transportation") &&
162 (process !=
"msc") &&
163 (process !=
"LowEnergyIoni") &&
164 (process !=
"LowEnergyBrem") &&
165 (process !=
"eIoni") &&
166 (process !=
"hIoni") &&
167 (process !=
"eBrem") &&
168 (process !=
"compt") &&
169 (process !=
"phot") &&
170 (process !=
"conv") &&
171 (process !=
"annihil") &&
172 (process !=
"hLowEIoni") &&
173 (process !=
"LowEnBrem") &&
174 (process !=
"LowEnCompton") &&
175 (process !=
"LowEnPhotoElec") &&
176 (process !=
"LowEnRayleigh") &&
177 (process !=
"LowEnConversion"))