PandaRoot
PndEmcPSAOverflowCombinator.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //-----------------------------------------------------------
14 // Description:
15 // Class of combinator that combine multi-PSA outputs
16 // Guang Zhao
17 //-----------------------------------------------------------
18 
19 #ifndef PndEmcPSAOverflowCombinator_h
20 #define PndEmcPSAOverflowCombinator_h
21 
22 #include "PndEmcPSACombinator.h"
23 
25 public:
26  PndEmcPSAOverflowCombinator(Double_t threshold, Double_t timediff, Bool_t single_mode = kFALSE);
27  virtual Int_t Combine(const std::vector<PndEmcAbsPSA*>& psa_list, const std::vector<Int_t>& nhit_list,
28  std::vector<Double_t>& energy_list, std::vector<Double_t>& time_list);
29 
30 private:
31  Double_t fThreshold;
32  Double_t fTimeDiff;
33  UInt_t match(PndEmcAbsPSA* psa1, Int_t nhit1, PndEmcAbsPSA* psa2, Int_t nhit2);
34  void fill(PndEmcAbsPSA* psa, Int_t nhit);
35  Bool_t overflow();
36 
37  std::vector<Double_t> fEnergyList;
38  std::vector<Double_t> fTimeList;
39 
40  Bool_t fSingleAPDMode; // kTRUE for single APD, kFALSE for duo APD
41 
42  ClassDef(PndEmcPSAOverflowCombinator, 1)
43 
44 };
45 
46 #endif
47 
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:33