#include <SimCalorimetry/HcalSimAlgos/interface/ZDCShape.h>
Public Member Functions | |
double | derivative (double time) const |
double | getTpeak () const |
virtual double | operator() (double time) const |
ZDCShape (const ZDCShape &d) | |
ZDCShape () | |
virtual | ~ZDCShape () |
Private Member Functions | |
void | computeShapeZDC () |
Private Attributes | |
int | nbin_ |
std::vector< float > | nt_ |
Definition at line 16 of file ZDCShape.h.
ZDCShape::ZDCShape | ( | ) |
Definition at line 4 of file ZDCShape.cc.
References computeShapeZDC(), and CaloVShape::setTpeak().
00005 : nbin_(256), 00006 nt_(nbin_, 0.) 00007 { 00008 setTpeak(2.0); 00009 computeShapeZDC(); 00010 }
ZDCShape::ZDCShape | ( | const ZDCShape & | d | ) |
virtual ZDCShape::~ZDCShape | ( | ) | [inline, virtual] |
void ZDCShape::computeShapeZDC | ( | ) | [private] |
Definition at line 22 of file ZDCShape.cc.
References funct::exp(), j, nbin_, norm, and nt_.
Referenced by ZDCShape().
00023 { 00024 00025 // cout << endl << " ===== computeShapeZDC !!! " << endl << endl; 00026 00027 const float ts = 3.0; // time constant in t * exp(-(t/ts)**2) 00028 00029 00030 int j; 00031 float norm; 00032 00033 // ZDC SHAPE 00034 norm = 0.0; 00035 for( j = 0; j < 3 * ts && j < nbin_; j++){ 00036 //nt_[j] = ((float)j)*exp(-((float)(j*j))/(ts*ts)); 00037 nt_[j] = j * exp(-(j*j)/(ts*ts)); 00038 norm += nt_[j]; 00039 } 00040 // normalize pulse area to 1.0 00041 for( j = 0; j < 3 * ts && j < nbin_; j++){ 00042 nt_[j] /= norm; 00043 } 00044 }
double ZDCShape::derivative | ( | double | time | ) | const |
double ZDCShape::getTpeak | ( | ) | const |
Reimplemented from CaloVShape.
double ZDCShape::operator() | ( | double | time | ) | const [virtual] |
Implements CaloVShape.
Definition at line 46 of file ZDCShape.cc.
00047 { 00048 00049 // return pulse amplitude for request time in ns 00050 int jtime; 00051 jtime = static_cast<int>(time+0.5); 00052 00053 if(jtime >= 0 && jtime < nbin_) 00054 return nt_[jtime]; 00055 else 00056 return 0.0; 00057 }
int ZDCShape::nbin_ [private] |
std::vector<float> ZDCShape::nt_ [private] |