PandaRoot
PndEmcHighLowPSA.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 // Wrapping class to manage two independent PSAs
16 // for high, resp. low gain
17 // Philipp Mahlberg
18 //-----------------------------------------------------------
19 
20 
21 #ifndef PNDEMCHIGHLOWPSA_H_
22 #define PNDEMCHIGHLOWPSA_H_
23 
24 
25 #include "PndEmcAbsPSA.h"
26 
28 
29 
37 {
38  public:
39  PndEmcHighLowPSA(Int_t verbose=0);
40  virtual void Init(PndEmcPSAFPGASampleAnalyser* highgainPSA, PndEmcPSAFPGASampleAnalyser* lowgainPSA, Double_t overflowThreshold, Int_t highgainWfIndex=0, Int_t lowgainWfIndex=1);
41  virtual ~PndEmcHighLowPSA(){}
42 
43  virtual void SetVerbose(Int_t verbose=0) { fVerbose = verbose; };
44  virtual Int_t Process(const PndEmcWaveform* waveform);
45  virtual void Reset();
46  virtual void GetHit(Int_t i, Double_t &energy, Double_t &time);
47  virtual void GetHit2(Int_t i, Double_t &energy, Double_t &time, Int_t &PileupType);
48  virtual Int_t GetWaveformIdx(Int_t i);
49 
50  private:
51  PndEmcPSAFPGASampleAnalyser* fHighgainPSA;
52  PndEmcPSAFPGASampleAnalyser* fLowgainPSA;
53 
54  Int_t fIdx_high;
55  Int_t fIdx_low;
56 
57  std::vector< std::pair<PndEmcPSAFPGASampleAnalyser*, int> >fHitsInFE;
58  Double_t fOverflowThreshold;
59 
60  Int_t fVerbose;
61 
63 };
64 
65 #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:33
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:33
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)