PandaRoot
PndEmcHighLowPSA.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 // Description:
3 // Wrapping class to manage two independent PSAs
4 // for high, resp. low gain
5 // Philipp Mahlberg
6 //-----------------------------------------------------------
7 
8 
9 #ifndef PNDEMCHIGHLOWPSA_H_
10 #define PNDEMCHIGHLOWPSA_H_
11 
12 
13 #include "PndEmcAbsPSA.h"
14 
16 
17 
25 {
26  public:
27  PndEmcHighLowPSA(Int_t verbose=0);
28  virtual void Init(PndEmcPSAFPGASampleAnalyser* highgainPSA, PndEmcPSAFPGASampleAnalyser* lowgainPSA, Double_t overflowThreshold, Int_t highgainWfIndex=0, Int_t lowgainWfIndex=1);
29  virtual ~PndEmcHighLowPSA(){}
30 
31  virtual void SetVerbose(Int_t verbose=0) { fVerbose = verbose; };
32  virtual Int_t Process(const PndEmcWaveform* waveform);
33  virtual void Reset();
34  virtual void GetHit(Int_t i, Double_t &energy, Double_t &time);
35  virtual void GetHit2(Int_t i, Double_t &energy, Double_t &time, Int_t &PileupType);
36  virtual Int_t GetWaveformIdx(Int_t i);
37 
38  private:
39  PndEmcPSAFPGASampleAnalyser* fHighgainPSA;
40  PndEmcPSAFPGASampleAnalyser* fLowgainPSA;
41 
42  Int_t fIdx_high;
43  Int_t fIdx_low;
44 
45  std::vector< std::pair<PndEmcPSAFPGASampleAnalyser*, int> >fHitsInFE;
46  Double_t fOverflowThreshold;
47 
48  Int_t fVerbose;
49 
51 };
52 
53 #endif
virtual ~PndEmcHighLowPSA()
virtual Int_t Process(const PndEmcWaveform *waveform)
Find Hits in Waveform.
Wrapping class to manage two independent PSAs for high, resp. low gain.
ClassDef(PndEmcAbsPSA, 1)
unsigned int i
Definition: P4_F32vec4.h:21
PndEmcHighLowPSA(Int_t verbose=0)
virtual Int_t GetWaveformIdx(Int_t i)
virtual void Reset()
reset found hits
represents a simulated waveform in an emc crystal
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: PndEmcAbsPSA.h:21
virtual void Init(PndEmcPSAFPGASampleAnalyser *highgainPSA, PndEmcPSAFPGASampleAnalyser *lowgainPSA, Double_t overflowThreshold, Int_t highgainWfIndex=0, Int_t lowgainWfIndex=1)
virtual void GetHit(Int_t i, Double_t &energy, Double_t &time)
Get energy and time of hit.
virtual void GetHit2(Int_t i, Double_t &energy, Double_t &time, Int_t &PileupType)
virtual void SetVerbose(Int_t verbose=0)