Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-11 07:53:49

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 GetNsample(void) const ;
0016   double GetTOT(void) const;
0017   double GetTOA(void) const;
0018   int GetPedestal(void) const;
0019 
0020   void SetADCWaveform(std::vector<int>);
0021   void AppendWaveformADC(int);
0022   void ResetADCWaveformPoint(int, int);
0023   
0024   void SetTOAWaveform(std::vector<int>);
0025   void AppendWaveformTOA(int);
0026   void ResetTOAWaveformPoint(int, int);
0027   
0028   void SetTOTWaveform(std::vector<int>);
0029   void AppendWaveformTOT(int);
0030   void ResetTOTWaveformPoint(int, int);
0031 
0032   void SetNsample(int);
0033   void SetTOT(double);
0034   void SetTOA(double);
0035   void SetPedestal(int);
0036 
0037   double GetIntegratedADC() {return integrated_adc;};  // Value from just ADC
0038   double GetIntegratedTOT() {return integrated_tot;};  // Value from just TOT
0039   double GetIntegratedValue() {return integrated_value;};  // Combined ADC and TOT
0040 
0041   void SetIntegratedADC(double val) { integrated_adc = val; }
0042   void SetIntegratedTOT(double val) { integrated_tot = val; }
0043   void SetIntegratedValue(double val) { integrated_value = val; }
0044 
0045   
0046  protected:
0047   int Nsample;
0048   std::vector<int> adc_waveform;
0049   std::vector<int> toa_waveform;
0050   std::vector<int> tot_waveform;
0051   int TOA;
0052   int TOT;
0053   int pedestal;
0054 
0055   // "finalized" values
0056   double integrated_adc;
0057   double integrated_tot;
0058   double integrated_value;
0059   
0060  private:
0061 
0062   ClassDef(Hgcroc,1)
0063 };
0064 
0065 
0066 #endif