PandaRoot
PndEmcPSAFPGASampleAnalyser.h
Go to the documentation of this file.
1 #ifndef PNDEMCFPGASAMPLEANALYSER_HH
2 #define PNDEMCFPGASAMPLEANALYSER_HH
3 
4 #include <string>
5 #include <fstream>
10 
11 #include "PndEmcAbsPSA.h"
12 
13 #define MAX_NUMBER_OF_HITS 100
14 
16 
17  public:
19  PndEmcPSAFPGASampleAnalyser(const std::string &fname);
21 
22  virtual void initFromFile(const std::string &fname);
23  virtual void reset() = 0;
24  virtual void put(float valueToStore) = 0;
25  virtual void setBaseline(float newBaseline){baseline_value = newBaseline;};
26 
27  virtual float baseline() = 0;
28  int nHits(){return Number_of_hits;};
29  float sampleTime(int index);
30  float sampleAmplitude(int index);
31  float sampleIntegral(int index);
32  Int_t samplePileup(int index);
33  virtual Int_t Process(const PndEmcWaveform *waveform);
34  virtual void Reset(){this->reset();};
35  virtual void GetHit(Int_t i,Double_t &energy, Double_t &time);
36  virtual void GetHit2(Int_t i, Double_t &energy, Double_t &time, Int_t &PileupType);
37  virtual void Init(const std::vector<Double_t> &params);
38 
40  int ma_trig_M;
42  int cf_delay;
43  float cf_ratio;
47  float mwd_tau;
49  float mwd2_tau;
51  float mwd3_tau;
52  int sig_delay;
54  float clock_unit;//unit time per point
55  float iafactor;//integral vs ampltitue
56  } ;
57 
59  status_t GetStatus() { return status; }
60 
61  protected:
62  virtual void init(SampleAnalyserParams &params);
63 
65 
67  unsigned int local_time;
71  std::ofstream Ratio;
72 
81 
82  // features of the detected pulses
84  float time[MAX_NUMBER_OF_HITS];
89 
91 };
92 
93 #endif
virtual ~PndEmcPSAFPGASampleAnalyser()
virtual float baseline()=0
float integral[MAX_NUMBER_OF_HITS]
virtual void put(float valueToStore)=0
PndEmcPSAFPGAFilterDelay * MA_delay
virtual void GetHit2(Int_t i, Double_t &energy, Double_t &time, Int_t &PileupType)
virtual void Init(const std::vector< Double_t > &params)
virtual void GetHit(Int_t i, Double_t &energy, Double_t &time)
Get energy and time of hit.
float sampleTime(int index)
unsigned int i
Definition: P4_F32vec4.h:21
ClassDef(PndEmcPSAFPGASampleAnalyser, 2)
float sampleAmplitude(int index)
float amplitude[MAX_NUMBER_OF_HITS]
virtual void Reset()
reset found hits
represents a simulated waveform in an emc crystal
virtual void init(SampleAnalyserParams &params)
Baseclass for pulseshapeanalysis ( featureextraction )
Definition: PndEmcAbsPSA.h:21
PndEmcPSAFPGAFilterDelay * Signal_buffer
float sampleIntegral(int index)
PndEmcPSAFPGAFilterDelay * Signal_delay
virtual Int_t Process(const PndEmcWaveform *waveform)
Find Hits in Waveform.
virtual void setBaseline(float newBaseline)
#define MAX_NUMBER_OF_HITS
virtual void initFromFile(const std::string &fname)
Int_t samplePileup(int index)
PndEmcPSAFPGAFilterDelay * CF_delay