#include <SimCalorimetry/CastorSim/src/CastorShape.h>
Public Member Functions | |
CastorShape (const CastorShape &d) | |
CastorShape () | |
double | derivative (double time) const |
double | getTpeak () const |
virtual double | operator() (double time) const |
virtual | ~CastorShape () |
Private Member Functions | |
void | computeShapeCastor () |
Private Attributes | |
int | nbin_ |
std::vector< float > | nt_ |
Definition at line 16 of file CastorShape.h.
CastorShape::CastorShape | ( | ) |
Definition at line 4 of file CastorShape.cc.
References computeShapeCastor(), and CaloVShape::setTpeak().
00005 : nbin_(256), 00006 nt_(nbin_, 0.) 00007 { 00008 setTpeak(2.0); 00009 computeShapeCastor(); 00010 }
CastorShape::CastorShape | ( | const CastorShape & | d | ) |
virtual CastorShape::~CastorShape | ( | ) | [inline, virtual] |
void CastorShape::computeShapeCastor | ( | ) | [private] |
Definition at line 22 of file CastorShape.cc.
References funct::exp(), j, nbin_, norm, and nt_.
Referenced by CastorShape().
00023 { 00024 00025 // cout << endl << " ===== computeShapeCastor !!! " << 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 // HF 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 CastorShape::derivative | ( | double | time | ) | const |
double CastorShape::getTpeak | ( | ) | const |
Reimplemented from CaloVShape.
double CastorShape::operator() | ( | double | time | ) | const [virtual] |
Implements CaloVShape.
Definition at line 46 of file CastorShape.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 CastorShape::nbin_ [private] |
std::vector<float> CastorShape::nt_ [private] |