CMS 3D CMS Logo

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

#include <HFShower.h>

Classes

struct  Hit
 

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...
 
std::vector< HitgetHits (G4Step *aStep, double weight)
 
std::vector< HitgetHits (G4Step *aStep, bool forLibrary)
 
std::vector< HitgetHits (G4Step *aStep, bool forLibraryProducer, double zoffset)
 
 HFShower (std::string &name, const DDCompactView &cpv, edm::ParameterSet const &p, int chk=0)
 
 HFShower (const RandomEngineAndDistribution *engine, HDShowerParametrization *myParam, EcalHitMaker *myGrid, HcalHitMaker *myHcalHitMaker, int onECAL, double epart)
 
void initRun (G4ParticleTable *, HcalDDDSimConstants *)
 
virtual ~HFShower ()
 
virtual ~HFShower ()
 

Private Member Functions

double gam (double x, double a) const
 
std::vector< double > getDDDArray (const std::string &, const DDsvalues_type &, int &)
 
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
 
bool applyFidCut
 
double balanceEH
 
double betEM
 
double betHD
 
HFCherenkovcherenkov
 
int chkFibre
 
double criticalEnergy
 
double depthStart
 
double depthStep
 
std::vector< int > detector
 
double e
 
double eSpotSize
 
std::vector< double > eStep
 
HFFibrefibre
 
std::vector< double > gpar
 
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 nDepthSteps
 
std::vector< int > nspots
 
int nTRsteps
 
int onEcal
 
double part
 
double probMax
 
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 HFShower.h.

Member Typedef Documentation

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

Definition at line 29 of file HFShower.h.

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

Definition at line 30 of file HFShower.h.

typedef Steps::const_iterator HFShower::step_iterator

Definition at line 32 of file HFShower.h.

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

Definition at line 31 of file HFShower.h.

Definition at line 27 of file HFShower.h.

Constructor & Destructor Documentation

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

Definition at line 30 of file HFShower.cc.

HFShower::~HFShower ( )
inlinevirtual

Definition at line 41 of file HFShower.h.

41 {;}
HFShower::HFShower ( std::string &  name,
const DDCompactView cpv,
edm::ParameterSet const &  p,
int  chk = 0 
)

Definition at line 26 of file HFShower.cc.

virtual HFShower::~HFShower ( )
virtual

Member Function Documentation

bool HFShower::compute ( )

Compute the shower longitudinal and lateral development.

Definition at line 475 of file HFShower.cc.

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

Definition at line 49 of file HFShower.h.

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

49 { 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
std::vector< double > HFShower::getDDDArray ( const std::string &  str,
const DDsvalues_type sv,
int &  nmin 
)
private

Definition at line 416 of file HFShower.cc.

std::vector< HFShower::Hit > HFShower::getHits ( G4Step *  aStep,
double  weight 
)

Definition at line 47 of file HFShower.cc.

Referenced by FiberSD::ProcessHits().

std::vector< HFShower::Hit > HFShower::getHits ( G4Step *  aStep,
bool  forLibrary 
)

Definition at line 317 of file HFShower.cc.

std::vector< HFShower::Hit > HFShower::getHits ( G4Step *  aStep,
bool  forLibraryProducer,
double  zoffset 
)

Definition at line 182 of file HFShower.cc.

int HFShower::indexFinder ( double  x,
const std::vector< double > &  Fhist 
)
private

Definition at line 659 of file HFShower.cc.

void HFShower::initRun ( G4ParticleTable *  ,
HcalDDDSimConstants hcons 
)

Definition at line 454 of file HFShower.cc.

Referenced by FiberSD::update().

void HFShower::makeSteps ( int  nsteps)
private

Definition at line 366 of file HFShower.cc.

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

Definition at line 54 of file HFShower.h.

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

54  {
55  double fsq = factor * factor;
56  return ((fsq + 1.)/fsq) * r * r / (r*r + R*R) ;
57  }

Member Data Documentation

double HFShower::aloge
private

Definition at line 77 of file HFShower.h.

double HFShower::alpEM
private

Definition at line 72 of file HFShower.h.

double HFShower::alpHD
private

Definition at line 72 of file HFShower.h.

bool HFShower::applyFidCut
private

Definition at line 50 of file HFShower.h.

double HFShower::balanceEH
private

Definition at line 117 of file HFShower.h.

double HFShower::betEM
private

Definition at line 72 of file HFShower.h.

double HFShower::betHD
private

Definition at line 72 of file HFShower.h.

HFCherenkov* HFShower::cherenkov
private

Definition at line 54 of file HFShower.h.

int HFShower::chkFibre
private

Definition at line 57 of file HFShower.h.

double HFShower::criticalEnergy
private

Definition at line 113 of file HFShower.h.

double HFShower::depthStart
private

Definition at line 76 of file HFShower.h.

double HFShower::depthStep
private

Definition at line 111 of file HFShower.h.

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

Definition at line 79 of file HFShower.h.

double HFShower::e
private

Definition at line 96 of file HFShower.h.

double HFShower::eSpotSize
private

Definition at line 109 of file HFShower.h.

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

Definition at line 80 of file HFShower.h.

HFFibre* HFShower::fibre
private

Definition at line 55 of file HFShower.h.

std::vector<double> HFShower::gpar
private

Definition at line 59 of file HFShower.h.

double HFShower::hcalDepthFactor
private

Definition at line 119 of file HFShower.h.

int HFShower::infinity
private

Definition at line 84 of file HFShower.h.

double HFShower::lambdaEM
private

Definition at line 75 of file HFShower.h.

double HFShower::lambdaHD
private

Definition at line 75 of file HFShower.h.

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

Definition at line 82 of file HFShower.h.

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

Definition at line 82 of file HFShower.h.

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

Definition at line 82 of file HFShower.h.

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

Definition at line 82 of file HFShower.h.

int HFShower::lossesOpt
private

Definition at line 99 of file HFShower.h.

double HFShower::maxTRfactor
private

Definition at line 115 of file HFShower.h.

int HFShower::nDepthSteps
private

Definition at line 101 of file HFShower.h.

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

Definition at line 79 of file HFShower.h.

int HFShower::nTRsteps
private

Definition at line 103 of file HFShower.h.

int HFShower::onEcal
private

Definition at line 93 of file HFShower.h.

double HFShower::part
private

Definition at line 72 of file HFShower.h.

double HFShower::probMax
private

Definition at line 58 of file HFShower.h.

const RandomEngineAndDistribution* HFShower::random
private

Definition at line 122 of file HFShower.h.

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

Definition at line 80 of file HFShower.h.

double HFShower::tgamEM
private

Definition at line 72 of file HFShower.h.

double HFShower::tgamHD
private

Definition at line 72 of file HFShower.h.

const ECALProperties* HFShower::theECALproperties
private

Definition at line 67 of file HFShower.h.

EcalHitMaker* HFShower::theGrid
private

Definition at line 87 of file HFShower.h.

HcalHitMaker* HFShower::theHcalHitMaker
private

Definition at line 90 of file HFShower.h.

const HCALProperties* HFShower::theHCALproperties
private

Definition at line 68 of file HFShower.h.

HDShowerParametrization* HFShower::theParam
private

Definition at line 64 of file HFShower.h.

double HFShower::theR1
private

Definition at line 71 of file HFShower.h.

double HFShower::theR2
private

Definition at line 71 of file HFShower.h.

double HFShower::theR3
private

Definition at line 71 of file HFShower.h.

double HFShower::transFactor
private

Definition at line 107 of file HFShower.h.

double HFShower::transParam
private

Definition at line 105 of file HFShower.h.

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

Definition at line 81 of file HFShower.h.

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

Definition at line 81 of file HFShower.h.

double HFShower::x0EM
private

Definition at line 75 of file HFShower.h.

double HFShower::x0HD
private

Definition at line 75 of file HFShower.h.