6 #ifndef ERNeuRadPixelSignal_H 7 #define ERNeuRadPixelSignal_H 16 #include "FairMultiLinkedData.h" 18 #include "ERNeuRadPhotoElectron.h" 28 TArrayF fPEAmplitudes;
30 Double_t fPEAmplitudesSum;
32 TArrayF fPEAnodeTimes;
44 Float_t* fResFunction;
46 TArrayF fResFunctionRoot;
48 Double_t OnePEFunction(Double_t time, Double_t amplitude);
49 Int_t OnePETime(Double_t amplitude);
52 TArrayF& GetPEAmps() {
return fPEAmplitudes;}
53 TArrayF& GetPETimes() {
return fPEAnodeTimes;}
54 Int_t GetPECount() {
return fPECount;}
56 Double_t GetStartTime()
const {
return fStartTime;}
57 Double_t GetFinishTime()
const {
return fFinishTime;}
58 Float_t GetPEamp(Int_t i)
const {
return fPEAmplitudes[i];}
59 Float_t GetPEtime(Int_t i)
const {
return fPEAnodeTimes[i];}
60 Int_t GetPECount()
const {
return fPECount;}
72 virtual void Generate();
74 virtual bool Exist(){
return fCurFPoint > 0;}
76 TArrayF* ResultSignal() {
return &fResFunctionRoot;}
79 virtual std::vector<Double_t> Intersections(Double_t discriminatorThreshold);
81 virtual Double_t MaxInteg(
const Double_t window,
const Double_t dt) {
return -1.;}
82 virtual Double_t Integ(
const Double_t start,
const Double_t finish);
83 virtual Double_t FirstInteg(
const Double_t window);
84 virtual Double_t FullInteg() {
return Integ(fStartTime,fFinishTime);}
85 virtual Double_t Mean(
const Double_t time) {
return -1.;}
87 virtual Double_t StartTime()
const {
return fStartTime;}
88 virtual Double_t FinishTime()
const {
return fFinishTime;}
90 virtual Float_t ThresholdTime(Float_t peThreshold);
92 virtual Double_t OnePEIntegral();
94 virtual Int_t PECount()
const {
return fPECount;}
96 Double_t dT()
const {
return cdT;}
98 Int_t ModuleNb()
const {
return fModuleNb;}
99 Int_t PixelNb()
const {
return fPixelNb;}
100 Int_t Side()
const {
return fSide;}
101 Double_t AmplitudesSum()
const {
return fPEAmplitudesSum;}
105 static const Double_t cdT;
110 #endif // ERNeuRadPixelSignal_H