18#include "BDSElectronOccupancy.hh"
19#include "BDSPolarizationState.hh"
21#include "BDSUserTrackInformation.hh"
23#include "G4DynamicParticle.hh"
26BDSUserTrackInformation::BDSUserTrackInformation(
const G4DynamicParticle* particle,
28 G4VUserTrackInformation(
"BDSUserTrackInformation"),
29 electronOccupancy(nullptr),
30 polarizationState(nullptr)
32 if (defaultPolarizationStateIn)
38 if (particle->GetTotalOccupancy() > 0)
40 totalElectrons = particle->GetTotalOccupancy();
41 if (totalElectrons <= 2)
44 electronOccupancy->SetTotalElectrons(totalElectrons);
45 electronOccupancy->PopulateLevels();
47 else if (totalElectrons <= 10)
50 electronOccupancy->SetTotalElectrons(totalElectrons);
51 electronOccupancy->PopulateLevels();
53 else if (totalElectrons <= 30)
56 electronOccupancy->SetTotalElectrons(totalElectrons);
57 electronOccupancy->PopulateLevels();
59 else if (totalElectrons <= 64)
62 electronOccupancy->SetTotalElectrons(totalElectrons);
63 electronOccupancy->PopulateLevels();
68 electronOccupancy->SetTotalElectrons(totalElectrons);
69 electronOccupancy->PopulateLevels();
72 comptonScattered =
false;
75BDSUserTrackInformation::~BDSUserTrackInformation()
77 delete electronOccupancy;
78 delete polarizationState;
83 return polarizationState;
88 return electronOccupancy;
Electron Occupancy for more than just n quantum number.
Polarization state to pass to processes.