PandaRoot
BSEmcMultiPSA.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 // Description:
3 // Wrapping class to manage multiple independent PSAs
4 // Guang Zhao
5 //-----------------------------------------------------------
6 
7 #ifndef BSEMCMULTIPSA_HH
8 #define BSEMCMULTIPSA_HH
9 
10 #include <vector>
11 
12 #include "Rtypes.h"
13 #include "RtypesCore.h"
14 
15 #include "BSEmcAbsPSA.h"
16 
17 class BSEmcPSACombinator;
18 class BSEmcWaveform;
19 class TBuffer;
20 class TClass;
21 class TMemberInspector;
22 
29 class BSEmcMultiPSA : public BSEmcAbsPSA {
30  public:
32  void AddPSA(BSEmcAbsPSA *);
33 
34  virtual ~BSEmcMultiPSA();
35 
36  virtual Int_t Process(const BSEmcWaveform *t_waveform) /*override*/;
37  virtual void Reset() /*override*/;
38  virtual void GetHit(Int_t t_idx, Double_t &t_energy, Double_t &t_time) /*override*/;
39  Int_t GetAPDGainIndex() { return fAPDGainIndex; }
40 
41  private:
42  std::vector<BSEmcAbsPSA *> fPSA{};
43  std::vector<Int_t> fNhit{};
44  BSEmcPSACombinator *fCombinator{nullptr}; // combinator to combine multi-PSA outputs to a signle output
45  Int_t fAPDGainIndex{-1}; // 0 for hg, 1 for lg //TODO: Create a more meaningfull and expressive enum GainMode especially sind APDGainIndex is unset until Process is run
46  std::vector<Double_t> fEnergyList{};
47  std::vector<Double_t> fTimeList{};
48 
50 };
51 
52 #endif /*BSEMCMULTIPSA_HH*/
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:26
BSEmcMultiPSA(BSEmcPSACombinator *)
represents a simulated waveform in an emc crystal
Definition: BSEmcWaveform.h:63
void AddPSA(BSEmcAbsPSA *)
Int_t GetAPDGainIndex()
Definition: BSEmcMultiPSA.h:39
virtual void GetHit(Int_t t_idx, Double_t &t_energy, Double_t &t_time)
Get energy and time of hit.
virtual void Reset()
reset found hits
virtual ~BSEmcMultiPSA()
virtual Int_t Process(const BSEmcWaveform *t_waveform)
Find Hits in Waveform.
Wrapping class to manage multiple independent PSAs.
Definition: BSEmcMultiPSA.h:29
ClassDef(BSEmcAbsPSA, 1)