SimCalorimetry
CaloSimAlgos
src
CaloCachedShapeIntegrator.cc
Go to the documentation of this file.
1
#include "
SimCalorimetry/CaloSimAlgos/interface/CaloCachedShapeIntegrator.h
"
2
3
const
int
NBINS
= 281;
// 256, plus 25 before
4
5
CaloCachedShapeIntegrator::CaloCachedShapeIntegrator
(
const
CaloVShape
*aShape)
6
: v_(
NBINS
, 0.), timeToRise_(aShape->timeToRise()) {
7
for
(
int
t
= 0;
t
< 256; ++
t
) {
8
double
amount = (*aShape)(
t
);
9
for
(
int
istep = 0; istep < 25; ++istep) {
10
int
ibin =
t
+ istep;
11
v_
[ibin] += amount;
12
}
13
}
14
}
15
16
CaloCachedShapeIntegrator::~CaloCachedShapeIntegrator
() {}
17
18
double
CaloCachedShapeIntegrator::timeToRise
()
const
{
return
timeToRise_
; }
19
20
double
CaloCachedShapeIntegrator::operator()
(
double
startTime)
const
{
21
// round up, and account for the -25 ns offset
22
int
ibin = static_cast<int>(startTime + 25.0);
23
return
(ibin < 0 || ibin >=
NBINS
) ? 0. :
v_
[ibin];
24
}
NBINS
const int NBINS
Definition:
CaloCachedShapeIntegrator.cc:3
CaloCachedShapeIntegrator::v_
std::vector< double > v_
Definition:
CaloCachedShapeIntegrator.h:22
CaloCachedShapeIntegrator::timeToRise_
double timeToRise_
Definition:
CaloCachedShapeIntegrator.h:23
CaloCachedShapeIntegrator::timeToRise
double timeToRise() const override
Definition:
CaloCachedShapeIntegrator.cc:18
CaloVShape
Electronic response of the preamp.
Definition:
CaloVShape.h:11
CaloCachedShapeIntegrator::operator()
double operator()(double startTime) const override
Definition:
CaloCachedShapeIntegrator.cc:20
CaloCachedShapeIntegrator::CaloCachedShapeIntegrator
CaloCachedShapeIntegrator(const CaloVShape *aShape)
Definition:
CaloCachedShapeIntegrator.cc:5
CaloCachedShapeIntegrator::~CaloCachedShapeIntegrator
~CaloCachedShapeIntegrator() override
Definition:
CaloCachedShapeIntegrator.cc:16
CaloCachedShapeIntegrator.h
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:644
Generated for CMSSW Reference Manual by
1.8.16