1#ifndef G_TRACK_BICHSEL_H
2#define G_TRACK_BICHSEL_H
21 virtual bool NewTrack(
const double x0,
const double y0,
const double z0,
22 const double t0,
const double dx0,
const double dy0,
24 virtual bool GetCluster(
double& xcls,
double& ycls,
double& zcls,
25 double& tcls,
int& n,
double& e,
double& extra);
30 void SetDataFile(
const std::string& filename) { m_datafile = filename; }
34 double m_bg = 3.16228;
39 double m_x = 0., m_y = 0., m_z = 0., m_t = 0.;
40 double m_dx = 0., m_dy = 0., m_dz = 1.;
43 double m_imfp = 4.05090e4;
45 std::string m_datafile =
"SiM0invw.inv";
47 std::vector<std::vector<double> > m_cdf;
49 int m_nCdfEntries = -1;
51 bool m_isInitialised =
false;
52 bool m_isInMedium =
false;
54 double GetInverseMeanFreePath(
const double bg);
55 bool LoadCrossSectionTable(
const std::string& filename);
56 void SelectCrossSectionTable();
virtual double GetStoppingPower()
Get the stopping power (mean energy loss [eV] per cm).
void SetDataFile(const std::string &filename)
virtual bool GetCluster(double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra)
virtual double GetClusterDensity()
virtual bool NewTrack(const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)
virtual ~TrackBichsel()
Destructor.
TrackBichsel()
Constructor.
Abstract base class for track generation.