#include <CSCGasCollisions.h>
Public Member Functions | |
CSCGasCollisions () | |
void | setParticleDataTable (const ParticleDataTable *pdt) |
void | simulate (const PSimHit &, std::vector< LocalPoint > &clusters, std::vector< int > &electrons, CLHEP::HepRandomEngine *) |
virtual | ~CSCGasCollisions () |
Static Public Attributes | |
static const int | MAX_STEPS = 400 |
static const int | N_ENERGY = 63 |
static const int | N_ENTRIES = N_GAMMA*N_ENERGY |
static const int | N_GAMMA = 21 |
Private Member Functions | |
void | fillCollisionsForThisGamma (float, std::vector< float > &) const |
float | generateEnergyLoss (double avCollisions, double anmin, double anmax, const std::vector< float > &collisions, CLHEP::HepRandomEngine *) const |
double | generateStep (double avCollisions, CLHEP::HepRandomEngine *) const |
void | ionize (double energyTransferred, LocalPoint startHere) const |
float | lnEnergyLoss (float, const std::vector< float > &) const |
void | readCollisionTable () |
void | writeSummary (int n_steps, double sum_steps, float dedx, float simHiteloss) const |
Private Attributes | |
double | clusterExtent |
double | deCut |
double | eion |
double | ework |
double | gasDensity |
const std::string | me |
bool | saveGasCollisions |
std::vector< float > | theCollisionTable |
CSCCrossGap * | theCrossGap |
std::vector< float > | theEnergyBins |
std::vector< float > | theGammaBins |
const ParticleDataTable * | theParticleDataTable |
Class to handle CSC gas ionization simulation during digitization.
This class contains the port of the old CMSIM/ORCA Fortran routine mc_clus.F, and the GEANT3 code it relied on. Of course the version here is much improved :)
Definition at line 26 of file CSCGasCollisions.h.
CSCGasCollisions::CSCGasCollisions | ( | ) |
Definition at line 51 of file CSCGasCollisions.cc.
References clusterExtent, deCut, eion, ework, gasDensity, me, readCollisionTable(), and saveGasCollisions.
|
virtual |
Definition at line 72 of file CSCGasCollisions.cc.
References me, and theCrossGap.
|
private |
Definition at line 505 of file CSCGasCollisions.cc.
References i, LogTrace, me, N_ENERGY, N_GAMMA, theCollisionTable, and theGammaBins.
Referenced by simulate().
|
private |
Definition at line 286 of file CSCGasCollisions.cc.
References CSCCrossGap::beta2(), create_public_lumi_plots::exp, CSCCrossGap::gamma(), lnEnergyLoss(), fff_deletion::log, LogTrace, me, and theCrossGap.
Referenced by simulate().
|
private |
Definition at line 271 of file CSCGasCollisions.cc.
References LogTrace, me, and relval_parameters_module::step.
Referenced by simulate().
|
private |
Definition at line 309 of file CSCGasCollisions.cc.
References CSCCrossGap::addCluster(), CSCCrossGap::addElectrons(), CSCCrossGap::addElectronToBack(), clusterExtent, eion, ework, gasDensity, LogTrace, me, CSCCrossGap::noOfClusters(), CSCCrossGap::noOfElectrons(), funct::pow(), theCrossGap, and CSCCrossGap::unitVector().
Referenced by simulate().
|
private |
Definition at line 465 of file CSCGasCollisions.cc.
References spr::find(), LogTrace, me, and theEnergyBins.
Referenced by generateEnergyLoss().
|
private |
Definition at line 77 of file CSCGasCollisions.cc.
References edm::hlt::Exception, python.connectstrParser::f1, groupFilesInBlocks::fin, i, j, LogTrace, me, N_ENERGY, N_ENTRIES, N_GAMMA, FileInPath::name(), cmsHarvester::path, theCollisionTable, theEnergyBins, and theGammaBins.
Referenced by CSCGasCollisions().
void CSCGasCollisions::setParticleDataTable | ( | const ParticleDataTable * | pdt | ) |
Definition at line 146 of file CSCGasCollisions.cc.
References theParticleDataTable.
Referenced by CSCWireHitSim::setParticleDataTable().
void CSCGasCollisions::simulate | ( | const PSimHit & | simHit, |
std::vector< LocalPoint > & | clusters, | ||
std::vector< int > & | electrons, | ||
CLHEP::HepRandomEngine * | engine | ||
) |
Definition at line 152 of file CSCGasCollisions.cc.
References deCut, eion, CSCCrossGap::electrons(), PSimHit::entryPoint(), PSimHit::exitPoint(), create_public_lumi_plots::exp, fillCollisionsForThisGamma(), generateEnergyLoss(), generateStep(), CSCCrossGap::ionClusters(), ionize(), CSCCrossGap::length(), CSCCrossGap::logGamma(), LogTrace, MAX_STEPS, me, N_ENERGY, PSimHit::pabs(), PSimHit::particleType(), relval_parameters_module::step, theCrossGap, theParticleDataTable, and CSCCrossGap::unitVector().
Referenced by CSCWireHitSim::getIonizationClusters().
|
private |
Definition at line 384 of file CSCGasCollisions.cc.
References filterCSVwithJSON::copy, gather_cfg::cout, eion, CSCCrossGap::electrons(), HI_PhotonSkim_cff::electrons, CSCCrossGap::eLossPerStep(), spr::find(), CSCCrossGap::ionClusters(), CSCCrossGap::noOfSteps(), saveGasCollisions, CSCCrossGap::stepLengths(), relval_machine::steps, and theCrossGap.
|
private |
Definition at line 65 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), and ionize().
|
private |
Definition at line 62 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), and simulate().
|
private |
Definition at line 63 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), ionize(), simulate(), and writeSummary().
|
private |
Definition at line 64 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), and ionize().
|
private |
Definition at line 56 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), and ionize().
|
static |
Definition at line 40 of file CSCGasCollisions.h.
Referenced by simulate().
|
private |
Definition at line 55 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), fillCollisionsForThisGamma(), generateEnergyLoss(), generateStep(), ionize(), lnEnergyLoss(), readCollisionTable(), simulate(), and ~CSCGasCollisions().
|
static |
Definition at line 38 of file CSCGasCollisions.h.
Referenced by fillCollisionsForThisGamma(), readCollisionTable(), and simulate().
Definition at line 39 of file CSCGasCollisions.h.
Referenced by readCollisionTable().
|
static |
Definition at line 37 of file CSCGasCollisions.h.
Referenced by fillCollisionsForThisGamma(), and readCollisionTable().
|
private |
Definition at line 73 of file CSCGasCollisions.h.
Referenced by CSCGasCollisions(), and writeSummary().
|
private |
Definition at line 69 of file CSCGasCollisions.h.
Referenced by fillCollisionsForThisGamma(), and readCollisionTable().
|
private |
Definition at line 71 of file CSCGasCollisions.h.
Referenced by generateEnergyLoss(), ionize(), simulate(), writeSummary(), and ~CSCGasCollisions().
|
private |
Definition at line 68 of file CSCGasCollisions.h.
Referenced by lnEnergyLoss(), and readCollisionTable().
|
private |
Definition at line 67 of file CSCGasCollisions.h.
Referenced by fillCollisionsForThisGamma(), and readCollisionTable().
|
private |
Definition at line 72 of file CSCGasCollisions.h.
Referenced by setParticleDataTable(), and simulate().