ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtPSAMax.h
Go to the documentation of this file.
1 #ifndef AtPSAMAX_H
2 #define AtPSAMAX_H
3 
4 #include "AtPSA.h"
5 
6 #include <Rtypes.h> // for Bool_t, THashConsistencyHolder, ClassDefOverride
7 
8 #include <array> // for array
9 #include <memory> // for make_unique, unique_ptr
10 
11 class AtPad;
12 class TBuffer;
13 class TClass;
14 class TMemberInspector;
15 
22 class AtPSAMax : public AtPSA {
23 
24 private:
25  Bool_t fIsTimeCorr{false};
26 
27 public:
28  virtual HitVector AnalyzePad(AtPad *pad) override;
29  std::unique_ptr<AtPSA> Clone() override { return std::make_unique<AtPSAMax>(*this); }
30 
31  void SetTimeCorrection(Bool_t value) { fIsTimeCorr = value; }
32 
33 private:
34  bool shouldSaveHit(double charge, double threshold, int tb);
35  Double_t getTBCorr(std::array<Double_t, 512> &trace, int maxAdcIdx);
36 
37  ClassDefOverride(AtPSAMax, 1)
38 };
39 
40 #endif
AtPSAMax::AnalyzePad
virtual HitVector AnalyzePad(AtPad *pad) override
Definition: AtPSAMax.cxx:23
AtPSAMax
Simple max finding PSA method.
Definition: AtPSAMax.h:22
AtPSA::HitVector
std::vector< std::unique_ptr< AtHit > > HitVector
Definition: AtPSA.h:50
AtPSAMax::Clone
std::unique_ptr< AtPSA > Clone() override
Definition: AtPSAMax.h:29
trace
std::array< Double_t, 512 > trace
Definition: AtCalibration.h:9
AtPSA.h
AtPad
Container class for AtPadBase objects.
Definition: AtPad.h:38
AtPSAMax::SetTimeCorrection
void SetTimeCorrection(Bool_t value)
Definition: AtPSAMax.h:31
AtPSA
Definition: AtPSA.h:27