51 G4double edep = aStep->GetTotalEnergyDeposit()/
CLHEP::MeV;
53 if (edep == 0.)
return false;
55 const int electronsperMeV= 10000;
56 int nrelec=(int)round(edep*electronsperMeV);
57 if (aStep->GetTrack()->GetDynamicParticle()->GetCharge() == 0)
return false;
59 G4SteppingManager* fpSteppingManager = G4EventManager::GetEventManager()
60 ->GetTrackingManager()->GetSteppingManager();
61 G4StepStatus stepStatus = fpSteppingManager->GetfStepStatus();
62 if (stepStatus != fAtRestDoItProc) {
63 G4ProcessVector* procPost = fpSteppingManager->GetfPostStepDoItVector();
64 size_t MAXofPostStepLoops = fpSteppingManager->GetMAXofPostStepLoops();
65 for (
size_t i3 = 0; i3 < MAXofPostStepLoops; i3++) {
66 if (!(*procPost)[i3])
continue;
73 if ((*procPost)[i3]->GetProcessName() ==
"Scintillation") {
74 G4Scintillation* proc1 = (G4Scintillation*) (*procPost)[i3];
75 photons += proc1->GetNumPhotons();
80 aStep->GetPreStepPoint()->GetPosition().x()/CLHEP::cm,
81 aStep->GetPreStepPoint()->GetPosition().y()/CLHEP::cm,
82 aStep->GetPreStepPoint()->GetPosition().z()/CLHEP::cm);
84 aStep->GetPostStepPoint()->GetPosition().x()/CLHEP::cm,
85 aStep->GetPostStepPoint()->GetPosition().y()/CLHEP::cm,
86 aStep->GetPostStepPoint()->GetPosition().z()/CLHEP::cm);
93 aStep->GetPreStepPoint()->GetGlobalTime() / CLHEP::ns,
94 aStep->GetPostStepPoint()->GetGlobalTime() /CLHEP::ns,
95 aStep->GetTrack()->GetTrackID(),
96 aStep->GetTrack()->GetParticleDefinition()->GetPDGEncoding() );
sim::SimEnergyDepositCollection hitCollection
util::quantities::megaelectronvolt MeV
auto end(FixedBins< T, C > const &) noexcept
Energy deposition in the active material.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.