19#include "BDSElectronOccupancy.hh"
20#include "BDSPolarizationState.hh"
22#include "BDSUserTrackInformation.hh"
23#include "BDSParser.hh"
26#include "G4DynamicParticle.hh"
28BDSUserTrackInformation::BDSUserTrackInformation(
const G4DynamicParticle* particle):
29 G4VUserTrackInformation(
"BDSUserTrackInformation"),
30 electronOccupancy(nullptr),
31 polarizationState(nullptr)
37 if(particle->GetTotalOccupancy()>0)
39 totalElectrons = particle->GetTotalOccupancy();
40 if(totalElectrons <= 2)
43 electronOccupancy->SetTotalElectrons(totalElectrons);
44 electronOccupancy->PopulateLevels();
46 else if (totalElectrons <= 10)
49 electronOccupancy->SetTotalElectrons(totalElectrons);
50 electronOccupancy->PopulateLevels();
52 else if (totalElectrons <= 30)
55 electronOccupancy->SetTotalElectrons(totalElectrons);
56 electronOccupancy->PopulateLevels();
58 else if (totalElectrons <= 64)
61 electronOccupancy->SetTotalElectrons(totalElectrons);
62 electronOccupancy->PopulateLevels();
67 electronOccupancy->SetTotalElectrons(totalElectrons);
68 electronOccupancy->PopulateLevels();
71 comptonScattered=
false;
75BDSUserTrackInformation::~BDSUserTrackInformation()
80 return polarizationState;
86 return electronOccupancy;
Electron Occupancy for more than just n quantum number.
static BDSParser * Instance()
Access method.
const GMAD::Beam & GetBeam() const
Return beam.
Polarization state to pass to processes.