-
Cdaq Account authored
THcHodoHit.h add methods to set and get the ADC peak amp and time THcScintillatorPlane::ProcessHits changed to set the ADC peak amp and time in the Hodohit DefineVariable added variables to tree
Cdaq Account authoredTHcHodoHit.h add methods to set and get the ADC peak amp and time THcScintillatorPlane::ProcessHits changed to set the ADC peak amp and time in the Hodohit DefineVariable added variables to tree
THcHodoHit.h 3.96 KiB
#ifndef ROOT_THcHodoHit
#define ROOT_THcHodoHit
///////////////////////////////////////////////////////////////////////////////
// //
// THcHodoHit //
// //
///////////////////////////////////////////////////////////////////////////////
#include "TObject.h"
#include "THcScintillatorPlane.h"
//#include "THcDriftChamber.h"
#include "THcRawHodoHit.h"
#include <cstdio>
class THcHodoHit : public TObject {
public:
THcHodoHit(Int_t postdc, Int_t negtdc, Double_t posadc, Double_t negadc,
Int_t ipad, THcScintillatorPlane* sp) :
fPosTDC(postdc), fNegTDC(negtdc), fPosADC_Ped(posadc), fNegADC_Ped(negadc),
fPaddleNumber(ipad), fHasCorrectedTimes(kFALSE),
fTwoGoodTimes(kFALSE), fPlane(sp) {};
virtual ~THcHodoHit() {}
Bool_t IsSortable () const { return kFALSE; }
// Get and Set Functions
Double_t GetPosADC() const { return fPosADC_Ped; }
Double_t GetNegADC() const { return fNegADC_Ped; }
Double_t GetPosADCpeak() const { return fPosADC_Peak; }
Double_t GetNegADCpeak() const { return fNegADC_Peak; }
Double_t GetPosADCtime() const { return fPosADC_Time; }
Double_t GetNegADCtime() const { return fNegADC_Time; }
Int_t GetPosTDC() const { return fPosTDC; }
Int_t GetNegTDC() const { return fNegTDC; }
Double_t GetPosCorrectedTime() const { return fPosCorrectedTime;}
Double_t GetNegCorrectedTime() const { return fNegCorrectedTime;}
Double_t GetPosTOFCorrectedTime() const { return fPosTOFCorrectedTime;}
Double_t GetNegTOFCorrectedTime() const { return fNegTOFCorrectedTime;}
Double_t GetScinCorrectedTime() const { return fScinCorrectedTime;}
Bool_t GetTwoGoodTimes() const { return fTwoGoodTimes;}
Bool_t GetHasCorrectedTimes() const { return fHasCorrectedTimes;}
Int_t GetPaddleNumber() const { return fPaddleNumber; }
Double_t GetPaddleCenter() const { return fPaddleCenter; }
void SetCorrectedTimes(Double_t pos, Double_t neg, Double_t) {
fPosCorrectedTime = pos; fNegCorrectedTime = neg;
}
void SetCorrectedTimes(Double_t pos, Double_t neg,
Double_t postof, Double_t negtof,
Double_t timeave) {
fPosCorrectedTime = pos; fNegCorrectedTime = neg;
fPosTOFCorrectedTime = postof; fNegTOFCorrectedTime = negtof;
fScinCorrectedTime = timeave;
fHasCorrectedTimes = kTRUE;
}
void SetTwoGoodTimes(Bool_t flag) {
fTwoGoodTimes = flag;
}
void SetPaddleCenter(Double_t padcenter) {
fPaddleCenter = padcenter;
}
void SetPosADCpeak( Double_t adc) {
fPosADC_Peak =adc;
}
void SetNegADCpeak( Double_t adc) {
fNegADC_Peak =adc;
}
void SetPosADCtime( Double_t ptime) {
fPosADC_Time =ptime;
}
void SetNegADCtime( Double_t ptime) {
fNegADC_Time =ptime;
}
protected:
static const Double_t kBig; //!
Int_t fPosTDC;
Int_t fNegTDC;
Double_t fPosADC_Ped; // Pedestal subtracted ADC
Double_t fNegADC_Ped; // Pedestal subtracted ADC
Double_t fPosADC_Peak; // ADC peak amplitude
Double_t fNegADC_Peak; // ADC peak amplitude
Double_t fPosADC_Time; // ADC time
Double_t fNegADC_Time; // ADC time
Int_t fPaddleNumber;
Double_t fPosCorrectedTime; // Pulse height corrected time
Double_t fNegCorrectedTime; // Pulse height corrected time
Double_t fScinCorrectedTime; // Time average corrected for position
// based on ADCs.
Double_t fPosTOFCorrectedTime; // Times corrected for z position
Double_t fNegTOFCorrectedTime; // using nominal beta
Bool_t fHasCorrectedTimes;
Bool_t fTwoGoodTimes;
Double_t fPaddleCenter;
THcScintillatorPlane* fPlane; // Pointer to parent scintillator plane
private:
THcHodoHit( const THcHodoHit& );
THcHodoHit& operator=( const THcHodoHit& );
ClassDef(THcHodoHit,0) // Drift Chamber Hit
};
////////////////////////////////////////////////////////////////////////////////
#endif