#include <EmcWaveform.h>
Definition at line 42 of file EmcWaveform.h.
◆ EmcWaveform() [1/2]
EmcWaveform::EmcWaveform |
( |
| ) |
|
Definition at line 17 of file EmcWaveform.cxx.
18{
20 m_tau = 1000.;
21 m_sampleTime = 50.;
22 m_peakTime = 4000.;
23 m_timeOffset = 2500.;
25
28}
◆ EmcWaveform() [2/2]
EmcWaveform::EmcWaveform |
( |
int |
size, |
|
|
double |
tau, |
|
|
double |
sampleTime |
|
) |
| |
Definition at line 30 of file EmcWaveform.cxx.
31 :m_tau(tau),m_sampleTime(sampleTime)
32{
33 if(size>0){
38 }
39}
◆ ~EmcWaveform()
EmcWaveform::~EmcWaveform |
( |
| ) |
|
◆ frontEdgeTrg()
int EmcWaveform::frontEdgeTrg |
( |
double |
thres | ) |
|
◆ getADCTrg()
double EmcWaveform::getADCTrg |
( |
int |
time | ) |
|
Definition at line 92 of file EmcWaveform.cxx.
93{
96 if(time >= i*m_sampleTime && time < (i+1)*m_sampleTime) adc =
emcWave[i];
97 }
98 return adc;
99}
◆ GetPeakTime()
double EmcWaveform::GetPeakTime |
( |
| ) |
const |
|
inline |
◆ GetPeakTimeTrg()
double EmcWaveform::GetPeakTimeTrg |
( |
| ) |
const |
|
inline |
◆ GetSampleTime()
double EmcWaveform::GetSampleTime |
( |
| ) |
const |
|
inline |
◆ GetSampleTimeTrg()
double EmcWaveform::GetSampleTimeTrg |
( |
| ) |
const |
|
inline |
◆ GetTau()
double EmcWaveform::GetTau |
( |
| ) |
const |
|
inline |
◆ GetTauTrg()
double EmcWaveform::GetTauTrg |
( |
| ) |
const |
|
inline |
◆ GetTimeOffset()
double EmcWaveform::GetTimeOffset |
( |
| ) |
const |
|
inline |
◆ GetTimeOffsetTrg()
double EmcWaveform::GetTimeOffsetTrg |
( |
| ) |
const |
|
inline |
◆ GetWave()
double * EmcWaveform::GetWave |
( |
| ) |
const |
|
inline |
◆ length()
int EmcWaveform::length |
( |
| ) |
const |
|
inline |
◆ makeWaveform()
void EmcWaveform::makeWaveform |
( |
double |
energy, |
|
|
double |
time |
|
) |
| |
Definition at line 131 of file EmcWaveform.cxx.
132{
133 double time0 = time*m_sampleTime+m_timeOffset-m_peakTime;
134 double tempTime = 0;
135
136 double peak = m_peakTime*m_peakTime*m_peakTime*m_peakTime*
exp(-m_peakTime/m_tau)/24;
137
139 {
140 tempTime = i*m_sampleTime + m_timeOffset - time0;
141 if(tempTime>0)
143 energy*tempTime*tempTime*tempTime*tempTime*
exp(-tempTime/m_tau)/(24*peak);
144 }
145}
EvtComplex exp(const EvtComplex &c)
************Class m_ypar INTEGER m_KeyWgt INTEGER m_KeyIHVP INTEGER m_KeyGPS INTEGER m_IsBeamPolarized INTEGER m_EvtGenInterface DOUBLE PRECISION m_Emin DOUBLE PRECISION m_sphot DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_q2 DOUBLE PRECISION m_PolBeam2 DOUBLE PRECISION m_xErrPb *COMMON c_KK2f $ !CMS energy average $ !Spin Polarization vector first beam $ !Spin Polarization vector second beam $ !Beam energy spread[GeV] $ !minimum hadronization energy[GeV] $ !input READ never touch them !$ !debug facility $ !maximum weight $ !inverse alfaQED $ !minimum real photon energy
Referenced by EmcDigi::operator+=().
◆ makeWaveformTrg()
void EmcWaveform::makeWaveformTrg |
( |
double |
energy, |
|
|
double |
time |
|
) |
| |
Definition at line 115 of file EmcWaveform.cxx.
116{
117 double time0 = time*m_sampleTime+m_timeOffset-m_peakTime;
118 double tempTime = 0;
119
120 double peak = m_peakTime*m_peakTime*m_peakTime*m_peakTime*
exp(-m_peakTime/m_tau)/24;
121
123 {
124 tempTime = i*m_sampleTime + m_timeOffset - time0;
125 if(tempTime>0)
127 energy*tempTime*tempTime*tempTime*tempTime*
exp(-tempTime/m_tau)/(24*peak);
128 }
129}
Referenced by BesTrigL1::getEmcAnalogSig().
◆ max()
double EmcWaveform::max |
( |
int & |
binOfMax | ) |
const |
◆ operator*=()
EmcWaveform & EmcWaveform::operator*= |
( |
const double |
scale | ) |
|
◆ operator+=()
◆ operator/=()
EmcWaveform & EmcWaveform::operator/= |
( |
const double |
scale | ) |
|
◆ operator=()
Definition at line 66 of file EmcWaveform.cxx.
67{
68 if (this != &assign) {
73 }
74 return *this;
75}
◆ operator[]()
double & EmcWaveform::operator[] |
( |
int |
index | ) |
const |
|
inline |
Definition at line 100 of file EmcWaveform.h.
101{
103 cout << "Array bounds exceeded. Index " << index << endl;
104 ::abort();
105 }
107}
◆ print()
void EmcWaveform::print |
( |
| ) |
|
Definition at line 147 of file EmcWaveform.cxx.
148{
149 cout<<"New Wave!"<<endl;
152 cout<<endl;
153}
◆ array_size
int EmcWaveform::array_size |
|
protected |
Definition at line 85 of file EmcWaveform.h.
Referenced by EmcWaveform(), frontEdgeTrg(), getADCTrg(), length(), makeWaveform(), makeWaveformTrg(), max(), operator*=(), operator+=(), operator/=(), operator=(), operator[](), and print().
◆ emcWave
double* EmcWaveform::emcWave |
|
protected |
Definition at line 84 of file EmcWaveform.h.
Referenced by EmcWaveform(), frontEdgeTrg(), getADCTrg(), GetWave(), makeWaveform(), makeWaveformTrg(), max(), operator*=(), operator+=(), operator/=(), operator=(), operator[](), print(), and ~EmcWaveform().
The documentation for this class was generated from the following files: