1 #ifndef MU_END_CSC_GAS_COLLISIONS_H
2 #define MU_END_CSC_GAS_COLLISIONS_H
18 #include "CLHEP/Random/RandFlat.h"
19 #include "CLHEP/Random/RandExponential.h"
35 std::vector<LocalPoint>& clusters, std::vector<int>&
electrons );
45 float lnEnergyLoss(
float,
const std::vector<float>& )
const;
48 double anmin,
double anmax,
const std::vector<float>& collisions )
const;
52 void writeSummary(
int n_steps,
double sum_steps,
float dedx,
float simHiteloss )
const;
void simulate(const PSimHit &, std::vector< LocalPoint > &clusters, std::vector< int > &electrons)
HepPDT::ParticleDataTable ParticleDataTable
static const int N_ENERGY
void writeSummary(int n_steps, double sum_steps, float dedx, float simHiteloss) const
std::vector< float > theGammaBins
float lnEnergyLoss(float, const std::vector< float > &) const
const ParticleDataTable * theParticleDataTable
static const int MAX_STEPS
void setParticleDataTable(const ParticleDataTable *pdt)
void ionize(double energyTransferred, LocalPoint startHere) const
static const int N_ENTRIES
CLHEP::RandExponential * theRandExponential
void readCollisionTable()
std::vector< float > theCollisionTable
double generateStep(double avCollisions) const
std::vector< float > theEnergyBins
float generateEnergyLoss(double avCollisions, double anmin, double anmax, const std::vector< float > &collisions) const
void fillCollisionsForThisGamma(float, std::vector< float > &) const
CSCCrossGap * theCrossGap
virtual ~CSCGasCollisions()
CLHEP::RandFlat * theRandFlat
void setRandomEngine(CLHEP::HepRandomEngine &engine)