CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
HDShower Class Reference

#include <HDShower.h>

Public Types

typedef std::pair< XYZPoint,
double > 
Spot
 
typedef std::pair< unsigned
int, double > 
Step
 
typedef Steps::const_iterator step_iterator
 
typedef std::vector< StepSteps
 
typedef math::XYZVector XYZPoint
 

Public Member Functions

bool compute ()
 Compute the shower longitudinal and lateral development. More...
 
int getmip ()
 
 HDShower (const RandomEngineAndDistribution *engine, HDShowerParametrization *myParam, EcalHitMaker *myGrid, HcalHitMaker *myHcalHitMaker, int onECAL, double epart, double pmip)
 
virtual ~HDShower ()
 

Private Member Functions

double gam (double x, double a) const
 
int indexFinder (double x, const std::vector< double > &Fhist)
 
void makeSteps (int nsteps)
 
double transProb (double factor, double R, double r)
 

Private Attributes

double aloge
 
double alpEM
 
double alpHD
 
double balanceEH
 
double betEM
 
double betHD
 
double criticalEnergy
 
double depthECAL
 
double depthGAP
 
double depthGAPx0
 
double depthHCAL
 
double depthStart
 
double depthStep
 
double depthToHCAL
 
std::vector< int > detector
 
double e
 
double eSpotSize
 
std::vector< double > eStep
 
double hcalDepthFactor
 
int infinity
 
double lambdaEM
 
double lambdaHD
 
std::vector< double > lamcurr
 
std::vector< double > lamdepth
 
std::vector< double > lamstep
 
std::vector< double > lamtotal
 
int lossesOpt
 
double maxTRfactor
 
int mip
 
int nDepthSteps
 
std::vector< int > nspots
 
int nTRsteps
 
int onEcal
 
double part
 
const RandomEngineAndDistributionrandom
 
std::vector< double > rlamStep
 
double tgamEM
 
double tgamHD
 
const ECALPropertiestheECALproperties
 
EcalHitMakertheGrid
 
HcalHitMakertheHcalHitMaker
 
const HCALPropertiestheHCALproperties
 
HDShowerParametrizationtheParam
 
double theR1
 
double theR2
 
double theR3
 
double transFactor
 
double transParam
 
std::vector< double > x0curr
 
std::vector< double > x0depth
 
double x0EM
 
double x0HD
 

Detailed Description

Definition at line 22 of file HDShower.h.

Member Typedef Documentation

typedef std::pair<XYZPoint,double> HDShower::Spot

Definition at line 29 of file HDShower.h.

typedef std::pair<unsigned int, double> HDShower::Step

Definition at line 30 of file HDShower.h.

typedef Steps::const_iterator HDShower::step_iterator

Definition at line 32 of file HDShower.h.

typedef std::vector<Step> HDShower::Steps

Definition at line 31 of file HDShower.h.

Definition at line 27 of file HDShower.h.

Constructor & Destructor Documentation

HDShower::HDShower ( const RandomEngineAndDistribution engine,
HDShowerParametrization myParam,
EcalHitMaker myGrid,
HcalHitMaker myHcalHitMaker,
int  onECAL,
double  epart,
double  pmip 
)

Definition at line 21 of file HDShower.cc.

virtual HDShower::~HDShower ( )
inlinevirtual

Definition at line 44 of file HDShower.h.

44 {;}

Member Function Documentation

bool HDShower::compute ( )

Compute the shower longitudinal and lateral development.

Definition at line 447 of file HDShower.cc.

double HDShower::gam ( double  x,
double  a 
) const
inlineprivate

Definition at line 52 of file HDShower.h.

References create_public_lumi_plots::exp, and funct::pow().

52 { return pow(x,a-1.)*exp(-x); }
double a
Definition: hdecay.h:121
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
int HDShower::getmip ( )
inline

Definition at line 42 of file HDShower.h.

References mip.

42 {return mip;}
int mip
Definition: HDShower.h:99
int HDShower::indexFinder ( double  x,
const std::vector< double > &  Fhist 
)
private

Definition at line 582 of file HDShower.cc.

void HDShower::makeSteps ( int  nsteps)
private

Definition at line 339 of file HDShower.cc.

double HDShower::transProb ( double  factor,
double  R,
double  r 
)
inlineprivate

Definition at line 57 of file HDShower.h.

References V0MonitoringClient_cfi::factor, and dttmaxenums::R.

57  {
58  double fsq = factor * factor;
59  return ((fsq + 1.)/fsq) * r * r / (r*r + R*R) ;
60  }

Member Data Documentation

double HDShower::aloge
private

Definition at line 80 of file HDShower.h.

double HDShower::alpEM
private

Definition at line 75 of file HDShower.h.

double HDShower::alpHD
private

Definition at line 75 of file HDShower.h.

double HDShower::balanceEH
private

Definition at line 123 of file HDShower.h.

double HDShower::betEM
private

Definition at line 75 of file HDShower.h.

double HDShower::betHD
private

Definition at line 75 of file HDShower.h.

double HDShower::criticalEnergy
private

Definition at line 119 of file HDShower.h.

double HDShower::depthECAL
private

Definition at line 131 of file HDShower.h.

double HDShower::depthGAP
private

Definition at line 131 of file HDShower.h.

double HDShower::depthGAPx0
private

Definition at line 131 of file HDShower.h.

double HDShower::depthHCAL
private

Definition at line 131 of file HDShower.h.

double HDShower::depthStart
private

Definition at line 79 of file HDShower.h.

double HDShower::depthStep
private

Definition at line 117 of file HDShower.h.

double HDShower::depthToHCAL
private

Definition at line 131 of file HDShower.h.

std::vector<int> HDShower::detector
private

Definition at line 82 of file HDShower.h.

double HDShower::e
private

Definition at line 102 of file HDShower.h.

double HDShower::eSpotSize
private

Definition at line 115 of file HDShower.h.

std::vector<double> HDShower::eStep
private

Definition at line 83 of file HDShower.h.

double HDShower::hcalDepthFactor
private

Definition at line 125 of file HDShower.h.

int HDShower::infinity
private

Definition at line 87 of file HDShower.h.

double HDShower::lambdaEM
private

Definition at line 78 of file HDShower.h.

double HDShower::lambdaHD
private

Definition at line 78 of file HDShower.h.

std::vector<double> HDShower::lamcurr
private

Definition at line 85 of file HDShower.h.

std::vector<double> HDShower::lamdepth
private

Definition at line 85 of file HDShower.h.

std::vector<double> HDShower::lamstep
private

Definition at line 85 of file HDShower.h.

std::vector<double> HDShower::lamtotal
private

Definition at line 85 of file HDShower.h.

int HDShower::lossesOpt
private

Definition at line 105 of file HDShower.h.

double HDShower::maxTRfactor
private

Definition at line 121 of file HDShower.h.

int HDShower::mip
private

Definition at line 99 of file HDShower.h.

Referenced by getmip().

int HDShower::nDepthSteps
private

Definition at line 107 of file HDShower.h.

std::vector<int> HDShower::nspots
private

Definition at line 82 of file HDShower.h.

int HDShower::nTRsteps
private

Definition at line 109 of file HDShower.h.

int HDShower::onEcal
private

Definition at line 96 of file HDShower.h.

double HDShower::part
private

Definition at line 75 of file HDShower.h.

const RandomEngineAndDistribution* HDShower::random
private

Definition at line 128 of file HDShower.h.

std::vector<double> HDShower::rlamStep
private

Definition at line 83 of file HDShower.h.

double HDShower::tgamEM
private

Definition at line 75 of file HDShower.h.

double HDShower::tgamHD
private

Definition at line 75 of file HDShower.h.

const ECALProperties* HDShower::theECALproperties
private

Definition at line 70 of file HDShower.h.

EcalHitMaker* HDShower::theGrid
private

Definition at line 90 of file HDShower.h.

HcalHitMaker* HDShower::theHcalHitMaker
private

Definition at line 93 of file HDShower.h.

const HCALProperties* HDShower::theHCALproperties
private

Definition at line 71 of file HDShower.h.

HDShowerParametrization* HDShower::theParam
private

Definition at line 67 of file HDShower.h.

double HDShower::theR1
private

Definition at line 74 of file HDShower.h.

double HDShower::theR2
private

Definition at line 74 of file HDShower.h.

double HDShower::theR3
private

Definition at line 74 of file HDShower.h.

double HDShower::transFactor
private

Definition at line 113 of file HDShower.h.

double HDShower::transParam
private

Definition at line 111 of file HDShower.h.

std::vector<double> HDShower::x0curr
private

Definition at line 84 of file HDShower.h.

std::vector<double> HDShower::x0depth
private

Definition at line 84 of file HDShower.h.

double HDShower::x0EM
private

Definition at line 78 of file HDShower.h.

double HDShower::x0HD
private

Definition at line 78 of file HDShower.h.