20class ElElasticScatLowSigma;
22class HeedDeltaElectronCS;
38 bool NewTrack(
const double x0,
const double y0,
const double z0,
39 const double t0,
const double dx0,
const double dy0,
41 bool GetCluster(
double& xcls,
double& ycls,
double& zcls,
double& tcls,
42 int& n,
double& e,
double& extra);
43 bool GetElectron(
const int i,
double& x,
double& y,
double& z,
double& t,
44 double& e,
double& dx,
double& dy,
double& dz);
52 const double t0,
const double e0,
53 const double dx0,
const double dy0,
54 const double dz0,
int& nel);
57 const double t0,
const double e0,
const double dx0,
58 const double dy0,
const double dz0,
int& nel);
75 void SetEnergyMesh(
const double e0,
const double e1,
const int nsteps);
90 std::string mediumName;
92 bool usePhotonReabsorption;
97 struct deltaElectron {
102 std::vector<deltaElectron> deltaElectrons;
118 int nEnergyIntervals;
128 HeedChamber* chamber;
133 bool Setup(Medium* medium);
134 bool SetupGas(Medium* medium);
135 bool SetupMaterial(Medium* medium);
136 bool SetupDelta(
const std::string databasePath);
void EnableMagneticField()
void SetEnergyMesh(const double e0, const double e1, const int nsteps)
bool GetCluster(double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra)
void EnablePhotoAbsorptionCrossSectionOutput()
void TransportDeltaElectron(const double x0, const double y0, const double z0, const double t0, const double e0, const double dx0, const double dy0, const double dz0, int &nel)
void EnableElectricField()
void DisableMagneticField()
bool GetElectron(const int i, double &x, double &y, double &z, double &t, double &e, double &dx, double &dy, double &dz)
void DisableDeltaElectronTransport()
double GetFanoFactor() const
void TransportPhoton(const double x0, const double y0, const double z0, const double t0, const double e0, const double dx0, const double dy0, const double dz0, int &nel)
double GetClusterDensity()
void EnableDeltaElectronTransport()
void DisablePhotonReabsorption()
void EnablePhotonReabsorption()
void DisablePhotoAbsorptionCrossSectionOutput()
bool NewTrack(const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)
void SetParticleUser(const double m, const double z)
void DisableElectricField()
double GetStoppingPower()