PandaRoot
PndEmcPSAOverflowCombinator.h
Go to the documentation of this file.
1 //-----------------------------------------------------------
2 // Description:
3 // Class of combinator that combine multi-PSA outputs
4 // Guang Zhao
5 //-----------------------------------------------------------
6 
7 #ifndef PndEmcPSAOverflowCombinator_h
8 #define PndEmcPSAOverflowCombinator_h
9 
10 #include "PndEmcPSACombinator.h"
11 
13 public:
14  PndEmcPSAOverflowCombinator(Double_t threshold, Double_t timediff, Bool_t single_mode = kFALSE);
15  virtual Int_t Combine(const std::vector<PndEmcAbsPSA*>& psa_list, const std::vector<Int_t>& nhit_list,
16  std::vector<Double_t>& energy_list, std::vector<Double_t>& time_list);
17 
18 private:
19  Double_t fThreshold;
20  Double_t fTimeDiff;
21  UInt_t match(PndEmcAbsPSA* psa1, Int_t nhit1, PndEmcAbsPSA* psa2, Int_t nhit2);
22  void fill(PndEmcAbsPSA* psa, Int_t nhit);
23  Bool_t overflow();
24 
25  std::vector<Double_t> fEnergyList;
26  std::vector<Double_t> fTimeList;
27 
28  Bool_t fSingleAPDMode; // kTRUE for single APD, kFALSE for duo APD
29 
30  ClassDef(PndEmcPSAOverflowCombinator, 1)
31 
32 };
33 
34 #endif
35 
PndEmcPSAOverflowCombinator(Double_t threshold, Double_t timediff, Bool_t single_mode=kFALSE)
virtual Int_t Combine(const std::vector< PndEmcAbsPSA *> &psa_list, const std::vector< Int_t > &nhit_list, std::vector< Double_t > &energy_list, std::vector< Double_t > &time_list)
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: PndEmcAbsPSA.h:21