CMS 3D CMS Logo

ESShape Class Reference

#include <SimCalorimetry/EcalSimAlgos/interface/ESShape.h>

Inheritance diagram for ESShape:

CaloVShape

List of all members.

Public Member Functions

double derivative (double time_) const
void display () const
 ESShape (int Gain)
 ctor
double getTpeak () const
double operator() (double time_) const
 ~ESShape ()
 dtor

Private Attributes

double A_
double M_
double norm_
double omegac_
double Qcf_
int theGain_


Detailed Description

Definition at line 17 of file ESShape.h.


Constructor & Destructor Documentation

ESShape::ESShape ( int  Gain  ) 

ctor

Definition at line 4 of file ESShape.cc.

References A_, M_, norm_, omegac_, Qcf_, CaloVShape::setTpeak(), and theGain_.

00004                         :
00005   theGain_(Gain)
00006 {
00007   setTpeak(20.0);
00008 
00009   if (theGain_==0) {
00010     A_ = 6.;
00011     Qcf_ = 4./350.;
00012     omegac_ = 2./25.;
00013     M_ = 2.;
00014     norm_ = 0.11136*M_;
00015   }
00016   else if (theGain_==1) {
00017     A_ = 17.73; 
00018     Qcf_ = 6.044;
00019     omegac_ = 0.1;
00020     M_ = 3.324;
00021     norm_ = 1.374*2438.76;
00022   }
00023   else if (theGain_==2) {
00024     A_ = 18.12;
00025     Qcf_ = 7.58;
00026     omegac_ = 0.08757;
00027     M_ = 3.192;
00028     norm_ = 1.24*2184.13;
00029   }
00030 }

ESShape::~ESShape (  )  [inline]

dtor

Definition at line 25 of file ESShape.h.

00025 {}


Member Function Documentation

double ESShape::derivative ( double  time_  )  const

Definition at line 43 of file ESShape.cc.

References A_, funct::exp(), M_, norm_, omegac_, funct::pow(), and Qcf_.

00044 {
00045   if (time_>0.00001) {
00046     double xf = A_*omegac_*time_;
00047     return (Qcf_/norm_)*pow(xf,M_-1.)*exp(-omegac_*time_);
00048   } 
00049   else {
00050     return 0.0;
00051   }
00052 }

void ESShape::display (  )  const [inline]

Definition at line 28 of file ESShape.h.

00028 {}

double ESShape::getTpeak (  )  const

Reimplemented from CaloVShape.

double ESShape::operator() ( double  time_  )  const [virtual]

Implements CaloVShape.

Definition at line 32 of file ESShape.cc.

References A_, funct::exp(), M_, norm_, omegac_, funct::pow(), and Qcf_.

00033 {   
00034   if (time_>0.00001) {
00035     double xf = A_*omegac_*time_;
00036     return (Qcf_/norm_)*pow(xf,M_-1.)*exp(-omegac_*time_);
00037   } 
00038   else {
00039     return 0.0;
00040   }
00041 }


Member Data Documentation

double ESShape::A_ [private]

Definition at line 35 of file ESShape.h.

Referenced by derivative(), ESShape(), and operator()().

double ESShape::M_ [private]

Definition at line 39 of file ESShape.h.

Referenced by derivative(), ESShape(), and operator()().

double ESShape::norm_ [private]

Definition at line 38 of file ESShape.h.

Referenced by derivative(), ESShape(), and operator()().

double ESShape::omegac_ [private]

Definition at line 37 of file ESShape.h.

Referenced by derivative(), ESShape(), and operator()().

double ESShape::Qcf_ [private]

Definition at line 36 of file ESShape.h.

Referenced by derivative(), ESShape(), and operator()().

int ESShape::theGain_ [private]

Definition at line 34 of file ESShape.h.

Referenced by ESShape().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:20:25 2009 for CMSSW by  doxygen 1.5.4