PandaRoot
BSEmcPSAOverflowCombinator.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 BSEMCPSAOVERFLOWCOMBINATOR_HH
20 #define BSEMCPSAOVERFLOWCOMBINATOR_HH
21 
22 #include <vector>
23 
24 #include "Rtypes.h"
25 #include "RtypesCore.h"
26 
27 #include "BSEmcPSACombinator.h"
28 
29 class BSEmcAbsPSA;
30 class TBuffer;
31 class TClass;
32 class TMemberInspector;
33 
35  public:
36  BSEmcPSAOverflowCombinator(Double_t t_threshold, Double_t t_timediff, Bool_t t_single_mode = kFALSE);
37  virtual Int_t Combine(const std::vector<BSEmcAbsPSA *> &t_psa_list, const std::vector<Int_t> &t_nhit_list, std::vector<Double_t> &t_energy_list,
38  std::vector<Double_t> &t_time_list) /*override*/;
39 
40  private:
41  UInt_t match(BSEmcAbsPSA *t_psa1, Int_t t_nhit1, BSEmcAbsPSA *t_psa2, Int_t t_nhit2);
42  void fill(BSEmcAbsPSA *t_psa, Int_t t_nhit);
43  Bool_t overflow();
44 
45  Double_t fThreshold{0};
46  Double_t fTimeDiff{0};
47 
48  std::vector<Double_t> fEnergyList{};
49  std::vector<Double_t> fTimeList{};
50 
51  Bool_t fSingleAPDMode; // kTRUE for single APD, kFALSE for duo APD
52 
53  ClassDef(BSEmcPSAOverflowCombinator, 1)
54 };
55 
56 #endif /*BSEMCPSAOVERFLOWCOMBINATOR_HH*/
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: BSEmcAbsPSA.h:38
virtual Int_t Combine(const std::vector< BSEmcAbsPSA *> &t_psa_list, const std::vector< Int_t > &t_nhit_list, std::vector< Double_t > &t_energy_list, std::vector< Double_t > &t_time_list)
BSEmcPSAOverflowCombinator(Double_t t_threshold, Double_t t_timediff, Bool_t t_single_mode=kFALSE)