22 useEqualSpacing(false) {
30 std::cerr <<
className <<
"::SetClusterDensity:\n";
31 std::cerr <<
" Cluster density (number of clusters per cm)"
32 <<
" must be positive.\n" << std::endl;
44 std::cerr <<
className <<
"::SetStoppingPower:\n";
45 std::cerr <<
" Stopping power (average energy loss [eV] per cm)"
46 <<
" must be positive.\n";
56 const double t0,
const double dx0,
const double dy0,
61 std::cerr <<
className <<
"::NewTrack:\n";
62 std::cerr <<
" Sensor is not defined.\n";
70 std::cerr <<
className <<
"::NewTrack:\n";
71 std::cerr <<
" No medium at initial position.\n";
84 const double d =
sqrt(dx0 * dx0 + dy0 * dy0 + dz0 * dz0);
89 double stheta =
sqrt(1. - ctheta * ctheta);
90 dx =
cos(phi) * stheta;
91 dy =
sin(phi) * stheta;
102 double& tcls,
int& n,
double& e,
double& extra) {
130 std::cout <<
className <<
"::GetCluster:\n";
131 std::cout <<
" Particle left the medium.\n";
DoubleAc cos(const DoubleAc &f)
DoubleAc sqrt(const DoubleAc &f)
DoubleAc sin(const DoubleAc &f)
bool GetMedium(const double x, const double y, const double z, Medium *&medium)
void SetStoppingPower(const double dedx)
double GetClusterDensity()
bool GetCluster(double &xcls, double &ycls, double &zcls, double &tcls, int &n, double &e, double &extra)
double GetStoppingPower()
void SetClusterDensity(const double d)
bool NewTrack(const double x0, const double y0, const double z0, const double t0, const double dx0, const double dy0, const double dz0)