42 G4Track *tr = aStep->GetTrack();
45 G4StepPoint *PreStepPoint = aStep->GetPreStepPoint();
48 G4StepPoint *PostStepPoint = aStep->GetPostStepPoint();
51 double stepKinetic = PreStepPoint->GetKineticEnergy();
54 double postStepKinetic = PostStepPoint->GetKineticEnergy();
57 const G4ThreeVector& myPos = PreStepPoint->GetPosition();
61 if (!(tr->GetDefinition()->GetParticleType() ==
"nucleus"))
65 G4String volumeName = PreStepPoint->GetPhysicalVolume()->GetName();
69 G4String materialName = PreStepPoint->GetMaterial()->GetName();
73 G4String processName = PostStepPoint->GetProcessDefinedStep() ?
74 PostStepPoint->GetProcessDefinedStep()->GetProcessName() :
"Unknown";
77 const std::vector<const G4Track*>* secondaries = aStep->GetSecondaryInCurrentStep();
81 float DepositedE = aStep->GetTotalEnergyDeposit();
83 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
85 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
87 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
89 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), DepositedE);
91 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), DepositedE);
96 1000, -12, 4, std::log10(aStep->GetStepLength()), 1.);
98 1000, -12, 4, std::log10(aStep->GetStepLength()), 1.);
100 1000, -12, 4, std::log10(aStep->GetStepLength()), 1.);
104 200, -10, 10, myPos.eta(), 1.);
106 200, -10, 10, myPos.eta(), 1.);
108 200, -10, 10, myPos.eta(), 1.);
112 1000, -9, 7, std::log10(stepKinetic), 1.);
114 1000, -9, 7, std::log10(stepKinetic), 1.);
116 1000, -9, 7, std::log10(stepKinetic), 1.);
118 1000, -9, 7, std::log10(stepKinetic), 1.);
122 1000, -9, 7, std::log10(postStepKinetic), 1.);
124 1000, -9, 7, std::log10(postStepKinetic), 1.);
126 1000, -9, 7, std::log10(postStepKinetic), 1.);
128 1000, -9, 7, std::log10(postStepKinetic), 1.);
132 1000, -11, 3, std::log10(aStep->GetTotalEnergyDeposit()), 1.);
134 1000, -11, 3, std::log10(aStep->GetTotalEnergyDeposit()), 1.);
136 1000, -11, 3, std::log10(aStep->GetTotalEnergyDeposit()), 1.);
140 1000, -11, 1, std::log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
142 1000, -11, 1, std::log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
144 1000, -11, 1, std::log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
147 for (
const auto &
track : *secondaries) {
150 1000, -7, 5, std::log10(
track->GetKineticEnergy()), 1.);
152 1000, -7, 5, std::log10(
track->GetKineticEnergy()), 1.);
154 1000, -7, 5, std::log10(
track->GetKineticEnergy()), 1.);
163 if (tr->GetCurrentStepNumber()==1) {
187 if ( tr->GetTrackStatus() == 2 ) {
189 if (not (tr->GetTrackID() ==
m_trackID)) {
190 ATH_MSG_ERROR(
"Track ID changed between the assumed first step and the last.");
194 int nSteps = tr->GetCurrentStepNumber() + 1;
196 10000, 0.5, 10000.5,
nSteps, 1.);
198 10000, 0.5, 10000.5,
nSteps, 1.);
200 10000, 0.5, 10000.5,
nSteps, 1.);
202 10000, 0.5, 10000.5,
nSteps, 1.);
214 1000, -9, 7, std::log10(tr->GetTrackLength()), 1.);
216 1000, -9, 7, std::log10(tr->GetTrackLength()), 1.);
218 1000, -9, 7, std::log10(tr->GetTrackLength()), 1.);
220 1000, -9, 7, std::log10(tr->GetTrackLength()), 1.);