38 G4Track *tr = aStep->GetTrack();
41 G4StepPoint *PreStepPoint = aStep->GetPreStepPoint();
44 G4StepPoint *PostStepPoint = aStep->GetPostStepPoint();
47 double stepKinetic = PreStepPoint->GetKineticEnergy();
50 double postStepKinetic = PostStepPoint->GetKineticEnergy();
53 const G4ThreeVector& myPos = PreStepPoint->GetPosition();
57 if (!(tr->GetDefinition()->GetParticleType() ==
"nucleus"))
61 G4String volumeName = PreStepPoint->GetPhysicalVolume()->GetName();
65 G4String materialName = PreStepPoint->GetMaterial()->GetName();
69 G4String processName = PostStepPoint->GetProcessDefinedStep() ?
70 PostStepPoint->GetProcessDefinedStep()->GetProcessName() :
"Unknown";
73 const std::vector<const G4Track*>* secondaries = aStep->GetSecondaryInCurrentStep();
77 float DepositedE = aStep->GetTotalEnergyDeposit();
79 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
81 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
83 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), 1.);
85 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), DepositedE);
87 2000, -20000, 20000, 1000, 0, 5000, myPos.getZ(), myPos.perp(), DepositedE);
92 1000, -12, 4, log10(aStep->GetStepLength()), 1.);
94 1000, -12, 4, log10(aStep->GetStepLength()), 1.);
96 1000, -12, 4, log10(aStep->GetStepLength()), 1.);
100 200, -10, 10, myPos.eta(), 1.);
102 200, -10, 10, myPos.eta(), 1.);
104 200, -10, 10, myPos.eta(), 1.);
108 1000, -9, 7, log10(stepKinetic), 1.);
110 1000, -9, 7, log10(stepKinetic), 1.);
112 1000, -9, 7, log10(stepKinetic), 1.);
114 1000, -9, 7, log10(stepKinetic), 1.);
118 1000, -9, 7, log10(postStepKinetic), 1.);
120 1000, -9, 7, log10(postStepKinetic), 1.);
122 1000, -9, 7, log10(postStepKinetic), 1.);
124 1000, -9, 7, log10(postStepKinetic), 1.);
128 1000, -11, 3, log10(aStep->GetTotalEnergyDeposit()), 1.);
130 1000, -11, 3, log10(aStep->GetTotalEnergyDeposit()), 1.);
132 1000, -11, 3, log10(aStep->GetTotalEnergyDeposit()), 1.);
136 1000, -11, 1, log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
138 1000, -11, 1, log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
140 1000, -11, 1, log10(aStep->GetNonIonizingEnergyDeposit()), 1.);
143 for (
const auto &
track : *secondaries) {
146 1000, -7, 5, log10(
track->GetKineticEnergy()), 1.);
148 1000, -7, 5, log10(
track->GetKineticEnergy()), 1.);
150 1000, -7, 5, log10(
track->GetKineticEnergy()), 1.);
159 if (tr->GetCurrentStepNumber()==1) {
183 if ( tr->GetTrackStatus() == 2 ) {
185 if (not (tr->GetTrackID() ==
m_trackID)) {
186 ATH_MSG_ERROR(
"Track ID changed between the assumed first step and the last.");
190 int nSteps = tr->GetCurrentStepNumber() + 1;
192 10000, 0.5, 10000.5,
nSteps, 1.);
194 10000, 0.5, 10000.5,
nSteps, 1.);
196 10000, 0.5, 10000.5,
nSteps, 1.);
198 10000, 0.5, 10000.5,
nSteps, 1.);
210 1000, -9, 7, log10(tr->GetTrackLength()), 1.);
212 1000, -9, 7, log10(tr->GetTrackLength()), 1.);
214 1000, -9, 7, log10(tr->GetTrackLength()), 1.);
216 1000, -9, 7, log10(tr->GetTrackLength()), 1.);