File indexing completed on 2025-12-15 09:29:34
0001 #ifndef HGCROC_H
0002 #define HGCROC_H
0003
0004 #include <vector>
0005 #include "Tile.h"
0006
0007 class Hgcroc: public Tile {
0008
0009 public:
0010 Hgcroc():Tile(ReadOut::Type::Hgcroc){}
0011 ~Hgcroc(){}
0012 std::vector<int> GetADCWaveform(void) const;
0013 std::vector<int> GetTOAWaveform(void) const;
0014 std::vector<int> GetTOTWaveform(void) const;
0015 int GetFirstTOASample (void);
0016 int GetFirstSampleAboveTh(void);
0017 int GetMaxSampleADC (void);
0018 int GetNsample(void) const ;
0019 double GetTOT(void) const;
0020 double GetTOA(void) const;
0021 int GetPedestal(void) const;
0022
0023 void SetADCWaveform(std::vector<int>);
0024 void AppendWaveformADC(int);
0025 void ResetADCWaveformPoint(int, int);
0026
0027 void SetTOAWaveform(std::vector<int>);
0028 void AppendWaveformTOA(int);
0029 void ResetTOAWaveformPoint(int, int);
0030
0031 void SetTOTWaveform(std::vector<int>);
0032 void AppendWaveformTOT(int);
0033 void ResetTOTWaveformPoint(int, int);
0034
0035
0036 void SetNsample(int);
0037 void SetTOT(double);
0038 void SetTOA(double);
0039 void SetPedestal(int);
0040
0041 double GetIntegratedADC() {return integrated_adc;};
0042 double GetIntegratedTOT() {return integrated_tot;};
0043 double GetIntegratedValue() {return integrated_value;};
0044
0045 void SetIntegratedADC(double val) { integrated_adc = val; }
0046 void SetIntegratedTOT(double val) { integrated_tot = val; }
0047 void SetIntegratedValue(double val) { integrated_value = val; }
0048
0049 void PrintWaveFormDebugInfo( double, double, double);
0050 protected:
0051 int Nsample;
0052 std::vector<int> adc_waveform;
0053 std::vector<int> toa_waveform;
0054 std::vector<int> tot_waveform;
0055 int TOA;
0056 int TOT;
0057 int pedestal;
0058
0059
0060 double integrated_adc = 0.;
0061 double integrated_tot = 0.;
0062 double integrated_value = 0.;
0063
0064 private:
0065
0066 ClassDef(Hgcroc,1)
0067 };
0068
0069
0070 #endif