#include <EMShower.h>
Public Member Functions | |
void | compute () |
Compute the shower longitudinal and lateral development. More... | |
EMShower (const RandomEngine *engine, GammaFunctionGenerator *gamma, EMECALShowerParametrization *const myParam, std::vector< const RawParticle * > *const myPart, EcalHitMaker *const myGrid=NULL, PreshowerHitMaker *const myPreshower=NULL) | |
double | getMaximumOfShower () const |
get the depth of the centre of gravity of the shower(s) More... | |
void | prepareSteps () |
Computes the steps before the real compute. More... | |
void | setGrid (EcalHitMaker *const myGrid) |
set the grid address More... | |
void | setHcal (HcalHitMaker *const myHcal) |
set the HCAL address More... | |
void | setPreshower (PreshowerHitMaker *const myPresh) |
set the preshower address More... | |
virtual | ~EMShower () |
Private Types | |
typedef std::pair< XYZPoint, double > | Spot |
typedef std::pair< unsigned int, double > | Step |
typedef Steps::const_iterator | step_iterator |
typedef std::vector< Step > | Steps |
typedef math::XYZVector | XYZPoint |
Private Member Functions | |
double | deposit (double t, double a, double b, double dt) |
double | deposit (double a, double b, double t) |
double | gam (double x, double a) const |
void | setIntervals (unsigned icomp, RadialInterval &rad) |
Private Attributes | |
std::vector< double > | a |
std::vector< double > | aSpot |
std::vector< double > | b |
std::vector< double > | bSpot |
std::vector< std::vector < double > > | depositedEnergy |
std::vector< double > | E |
std::vector< double > | Etot |
double | globalMaximum |
bool | hasPreshower |
double | innerDepth |
std::vector< double > | maximumOfShower |
std::vector< double > | meanDepth |
GammaFunctionGenerator * | myGammaGenerator |
Genfun::IncompleteGamma | myIncompleteGamma |
unsigned int | nPart |
unsigned | nSteps |
double | outerDepth |
std::vector< double > | photos |
const RandomEngine * | random |
Steps | steps |
bool | stepsCalculated |
std::vector< double > | T |
const ECALProperties * | theECAL |
EcalHitMaker * | theGrid |
const HCALProperties * | theHCAL |
HcalHitMaker * | theHcalHitMaker |
const PreshowerLayer1Properties * | theLayer1 |
const PreshowerLayer2Properties * | theLayer2 |
std::vector< double > | theNumberOfSpots |
EMECALShowerParametrization *const | theParam |
std::vector< const RawParticle * > *const | thePart |
PreshowerHitMaker * | thePreshower |
std::vector< double > | Ti |
double | totalEnergy |
std::vector< double > | TSpot |
Definition at line 26 of file EMShower.h.
|
private |
Definition at line 31 of file EMShower.h.
|
private |
Definition at line 32 of file EMShower.h.
|
private |
Definition at line 34 of file EMShower.h.
|
private |
Definition at line 33 of file EMShower.h.
|
private |
Definition at line 29 of file EMShower.h.
EMShower::EMShower | ( | const RandomEngine * | engine, |
GammaFunctionGenerator * | gamma, | ||
EMECALShowerParametrization *const | myParam, | ||
std::vector< const RawParticle * > *const | myPart, | ||
EcalHitMaker *const | myGrid = NULL , |
||
PreshowerHitMaker *const | myPreshower = NULL |
||
) |
Definition at line 17 of file EMShower.cc.
References a, aSpot, b, bSpot, EMECALShowerParametrization::correlationAlphaT(), ECALProperties::criticalEnergy(), E, EMECALShowerParametrization::ecalProperties(), Etot, funct::exp(), RandomEngine::gaussShoot(), globalMaximum, hasPreshower, EMECALShowerParametrization::hcalProperties(), i, EMECALShowerParametrization::layer1Properties(), EMECALShowerParametrization::layer2Properties(), ECALProperties::lightCollectionEfficiency(), funct::log(), maximumOfShower, EMECALShowerParametrization::meanAlpha(), EMECALShowerParametrization::meanAlphaSpot(), meanDepth, EMECALShowerParametrization::meanLnAlpha(), EMECALShowerParametrization::meanLnT(), EMECALShowerParametrization::meanT(), EMECALShowerParametrization::meanTSpot(), nPart, EMECALShowerParametrization::nSpots(), NULL, photos, ECALProperties::photoStatistics(), random, EMECALShowerParametrization::sigmaLnAlpha(), EMECALShowerParametrization::sigmaLnT(), mathSSE::sqrt(), stepsCalculated, theECAL, theHCAL, theLayer1, theLayer2, theNumberOfSpots, theParam, thePart, Ti, totalEnergy, and TSpot.
|
inlinevirtual |
Definition at line 45 of file EMShower.h.
void EMShower::compute | ( | ) |
Compute the shower longitudinal and lateral development.
Definition at line 244 of file EMShower.cc.
References a, PreshowerHitMaker::addHit(), HcalHitMaker::addHit(), EcalHitMaker::addHit(), EcalHitMaker::addHitDepth(), RadialInterval::addInterval(), aSpot, b, bSpot, RadialInterval::compute(), deposit(), depositedEnergy, dt, E, patCandidatesForDimuonsSequences_cff::ecal, Etot, RandomEngine::flatShoot(), gam(), RandomEngine::gaussShoot(), RadialInterval::getNumberOfSpots(), EcalHitMaker::getPads(), RadialInterval::getSpotEnergy(), RadialInterval::getUmax(), RadialInterval::getUmin(), EcalHitMaker::getX0back(), hasPreshower, patCandidatesForDimuonsSequences_cff::hcal, HCALProperties::hOverPi(), i, ECALProperties::lightCollectionUniformity(), M_PI, meanDepth, PreshowerLayer2Properties::mipsPerGeV(), PreshowerLayer1Properties::mipsPerGeV(), myGammaGenerator, RadialInterval::nIntervals(), nPart, nSteps, NULL, EMECALShowerParametrization::p(), phi, photos, RandomEngine::poissonShoot(), prepareSteps(), random, EMECALShowerParametrization::rC(), EMECALShowerParametrization::rT(), HcalHitMaker::setDepth(), setIntervals(), GammaFunctionGenerator::setParameters(), PreshowerHitMaker::setSpotEnergy(), HcalHitMaker::setSpotEnergy(), EcalHitMaker::setSpotEnergy(), GammaFunctionGenerator::shoot(), HCALProperties::spotFraction(), mathSSE::sqrt(), ntuplemaker::status, steps, stepsCalculated, matplotRender::t, theECAL, theGrid, theHCAL, theHcalHitMaker, theLayer1, theLayer2, theNumberOfSpots, theParam, thePreshower, and Ti.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 607 of file EMShower.cc.
References dt, myIncompleteGamma, query::result, and matplotRender::t.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 648 of file EMShower.cc.
References myIncompleteGamma, query::result, and matplotRender::t.
|
private |
Definition at line 571 of file EMShower.cc.
References funct::exp(), and funct::pow().
Referenced by compute().
|
inline |
get the depth of the centre of gravity of the shower(s)
get the depth of the maximum of the shower
Definition at line 57 of file EMShower.h.
References globalMaximum.
Referenced by CalorimetryManager::EMShowerSimulation().
void EMShower::prepareSteps | ( | ) |
Computes the steps before the real compute.
Definition at line 123 of file EMShower.cc.
References a, b, deposit(), depositedEnergy, dt, E, EcalHitMaker::ecalTotalX0(), EcalHitMaker::hcalTotalX0(), i, innerDepth, meanDepth, nPart, nSteps, evf::evtn::offset(), outerDepth, EcalHitMaker::ps1TotalX0(), EcalHitMaker::ps2eeTotalX0(), EcalHitMaker::ps2TotalX0(), launcher::step, steps, stepsCalculated, matplotRender::t, theGrid, EcalHitMaker::totalX0(), and EcalHitMaker::x0DepthOffset().
Referenced by compute().
|
inline |
set the grid address
Definition at line 60 of file EMShower.h.
References theGrid.
Referenced by CalorimetryManager::EMShowerSimulation().
void EMShower::setHcal | ( | HcalHitMaker *const | myHcal | ) |
set the HCAL address
Definition at line 642 of file EMShower.cc.
References theHcalHitMaker.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 619 of file EMShower.cc.
References RadialInterval::addInterval(), EMECALShowerParametrization::getCoreIntervals(), EMECALShowerParametrization::getTailIntervals(), and theParam.
Referenced by compute().
void EMShower::setPreshower | ( | PreshowerHitMaker *const | myPresh | ) |
set the preshower address
Definition at line 632 of file EMShower.cc.
References hasPreshower, NULL, and thePreshower.
Referenced by CalorimetryManager::EMShowerSimulation().
|
private |
Definition at line 101 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 105 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 102 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 106 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 112 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 98 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 97 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 116 of file EMShower.h.
Referenced by EMShower(), and getMaximumOfShower().
|
private |
Definition at line 135 of file EMShower.h.
Referenced by compute(), EMShower(), and setPreshower().
|
private |
Definition at line 114 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 111 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 113 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 145 of file EMShower.h.
Referenced by compute().
|
private |
Definition at line 139 of file EMShower.h.
Referenced by deposit().
|
private |
Definition at line 93 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 122 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 114 of file EMShower.h.
Referenced by prepareSteps().
|
private |
Definition at line 99 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 142 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 121 of file EMShower.h.
Referenced by compute(), and prepareSteps().
|
private |
Definition at line 123 of file EMShower.h.
Referenced by compute(), EMShower(), and prepareSteps().
|
private |
Definition at line 100 of file EMShower.h.
|
private |
Definition at line 86 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 126 of file EMShower.h.
Referenced by compute(), prepareSteps(), and setGrid().
|
private |
Definition at line 87 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 132 of file EMShower.h.
|
private |
Definition at line 88 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 89 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 96 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 83 of file EMShower.h.
Referenced by compute(), EMShower(), and setIntervals().
|
private |
Definition at line 92 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 129 of file EMShower.h.
Referenced by compute(), and setPreshower().
|
private |
Definition at line 103 of file EMShower.h.
Referenced by compute(), and EMShower().
|
private |
Definition at line 118 of file EMShower.h.
Referenced by EMShower().
|
private |
Definition at line 104 of file EMShower.h.
Referenced by EMShower().