72 G4double eKinPre = aStep->GetPreStepPoint()->GetKineticEnergy();
74 G4double eKinPost = aStep->GetPostStepPoint()->GetKineticEnergy();
76 G4double eKinMean = (eKinPre + eKinPost) * 0.5;
78 const std::vector<const G4Track*>* secondary = aStep->GetSecondaryInCurrentStep();
80 size_t SecondarySize = (*secondary).size();
81 G4double EnergySecondary = 0.;
86 for (
size_t numsec = 0; numsec < SecondarySize; numsec++) {
88 G4int PDGSecondary = (*secondary)[numsec]->GetDefinition()->GetPDGEncoding();
90 if (PDGSecondary == 11)
93 EnergySecondary += (*secondary)[numsec]->GetKineticEnergy();
99 newHit->
SetTrackID(aStep->GetTrack()->GetTrackID());
100 newHit->
SetPartType(aStep->GetTrack()->GetParticleDefinition());
102 newHit->
SetDeltaE(aStep->GetTotalEnergyDeposit());
103 newHit->
SetEinit(aStep->GetPreStepPoint()->GetKineticEnergy());
107 newHit->
SetVoxelIndexes(aStep->GetPreStepPoint()->GetTouchableHandle());
113 for (G4int i = 0; i < G4AccumulableManager::Instance()->GetNofAccumulables(); ++i) {
115 G4VAccumulable* GenAcc = G4AccumulableManager::Instance()->GetAccumulable(i);
124 if (radioAcc ==
nullptr)
continue;
127 if (q->IsCalculationEnabled()) radioAcc->
Accumulate(newHit);