#ifndef TClcModule_hh #define TClcModule_hh #include "TClcLayer.hh" //_____________________________________________________________________________ class TClcModule { public: enum {kNLayers = 3}; public: Int_t fNTdcHits; Int_t fNHitChannels; Int_t fNUsedChannels; // # channels used for mean time calcn Int_t fNUsedChannelsW; // # channels used for mean tw calcn Float_t fMeanTime; Float_t fMeanTimeW; // mean time (using width) TClcLayer* fLayer; Int_t fRefChannel; // ! reference channel (calib const) Float_t fT0; // ! global delay (calib const) Float_t fT0W; // ! global delay (calib const, width) public: // ****** constructors and destructor TClcModule(); ~TClcModule(); // ****** accessors Int_t NTdcHits () { return fNTdcHits; } Int_t NHitChannels () { return fNHitChannels; } Int_t NUsedChannels () { return fNUsedChannels; } Int_t NUsedChannelsW() { return fNUsedChannelsW; } Float_t MeanTime () { return fMeanTime; } Float_t MeanTimeW () { return fMeanTimeW; } TClcLayer* Layer (int i) { return fLayer+i; } Float_t T0 () { return fT0; } Float_t T0W () { return fT0W; } Int_t RefChannel () { return fRefChannel; } // ****** setters void SetT0 (Float_t t) { fT0 = t; } void SetT0W (Float_t t) { fT0W = t; } void SetRefChannel (Int_t i) { fRefChannel = i; } void SetNTdcHits (Int_t n) { fNTdcHits = n; } void SetNHitChannels (Int_t n) { fNHitChannels = n; } // ****** other methods Int_t NChannelsAbove(Int_t adc_threshold); // number of hits above treshold in units of spp Int_t NHits (Float_t spp_treshold); int CalculateMeanTime(Float_t tmin, Float_t tmax, Float_t adcThr); void Clear(Option_t* opt=""); void Print(Option_t* opt=""); ClassDef(TClcModule,1) }; #endif