ATLAS Offline Software
Loading...
Searching...
No Matches
TileSampleGenerator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILEPULSESIMULATOR_TILESAMPLEGENERATOR_H
6#define TILEPULSESIMULATOR_TILESAMPLEGENERATOR_H
7
8#include "TObject.h"
9
10
11class TilePulseShape;
13class TRandom3;
14class TF1;
15
16class TileSampleGenerator: public TObject {
17public:
19 TileSampleGenerator(TilePulseShape* ps, TileSampleBuffer* buf, bool dd_DEBUG = false);
20 virtual ~TileSampleGenerator();
21
22 inline void setPulseShape(TilePulseShape* ps) {
23 m_ps = ps;
24 }
25 void fillSamples(double t0, double pedestal, double amplitude1, double amplitude2, TF1* pdf, bool addNoise, double itOffset = 0, double otOffset = 50);
26 void fillNSamples(double t0, double pedestal, double amp_it, const std::vector<float>& amp_pu, TF1* pdf, bool addNoise, double itOffset = 0, int nSamples = 7, int nPul = 21);
27 float fillSample(double t0, double pedestal, const std::vector<float>& amp_pu, TF1* pdf, bool addNoise, int nPul = 21, int gain = 1);
28 void fill7SamplesQIE(float amp_it, float *amp_pu); //The function calculates charges for 7 intervals with each interval of 25 ns
29
30private:
33 bool m_DEBUG;
34 TRandom3* m_rndm;
35
36public:
37
38};
39
40#endif // TILEPULSESIMULATOR_TILESAMPLEGENERATOR_H
static Double_t t0
void fillSamples(double t0, double pedestal, double amplitude1, double amplitude2, TF1 *pdf, bool addNoise, double itOffset=0, double otOffset=50)
void fillNSamples(double t0, double pedestal, double amp_it, const std::vector< float > &amp_pu, TF1 *pdf, bool addNoise, double itOffset=0, int nSamples=7, int nPul=21)
TileSampleBuffer * m_buf
void setPulseShape(TilePulseShape *ps)
void fill7SamplesQIE(float amp_it, float *amp_pu)
float fillSample(double t0, double pedestal, const std::vector< float > &amp_pu, TF1 *pdf, bool addNoise, int nPul=21, int gain=1)