Hall C ROOT/C++ Analyzer (hcana)
Loading...
Searching...
No Matches
THcCherenkov.h
Go to the documentation of this file.
1#ifndef ROOT_THcCherenkov
2#define ROOT_THcCherenkov
3
5// //
6// Cherenkov //
7// //
9
10#include "TClonesArray.h"
12#include "THcHitList.h"
13#include "THcCherenkovHit.h"
14class THcHodoscope;
15
17
18 public:
19 THcCherenkov(const char* name, const char* description = "", THaApparatus* a = NULL);
20 virtual ~THcCherenkov();
21
22 virtual void Clear(Option_t* opt="");
23 virtual void Print(const Option_t* opt) const;
24 virtual void AccumulatePedestals(TClonesArray* rawhits);
25 virtual void CalculatePedestals();
26 virtual Int_t Decode(const THaEvData&);
27 virtual Int_t ReadDatabase(const TDatime& date);
31 virtual Int_t ApplyCorrections( void );
32 virtual EStatus Init(const TDatime& run_time);
33 Int_t End(THaRunBase* run);
34
35
36 void InitArrays();
37 void DeleteArrays();
38 Int_t GetIndex(Int_t nRegion, Int_t nValue);
39
40 // Double_t GetCerNPE() { return fNPEsum;}
42
43 // Vector/TClonesArray length parameters
44 static const Int_t MaxNumCerPmt = 4;
45 static const Int_t MaxNumAdcPulse = 4;
46
47 THcCherenkov(); // for ROOT I/O
48 protected:
53
55
64
65 vector<Int_t> fNumAdcHits;
66 vector<Int_t> fNumGoodAdcHits;
67 vector<Int_t> fNumTracksMatched;
68 vector<Int_t> fNumTracksFired;
69 vector<Double_t> fGoodAdcPed;
70 vector<Double_t> fGoodAdcMult;
71 vector<Double_t> fGoodAdcHitUsed;
72 vector<Double_t> fGoodAdcPulseInt;
73 vector<Double_t> fGoodAdcPulseIntRaw;
74 vector<Double_t> fGoodAdcPulseAmp;
75 vector<Double_t> fGoodAdcPulseTime;
76 vector<Double_t> fGoodAdcTdcDiffTime;
77 vector<Double_t> fSampWaveform;
78 vector<Double_t> fNpe;
79
105
106 // 6 Gev pedestal variables
109 Int_t* fPedSum; /* Accumulators for pedestals */
113 Double_t* fPedMean; /* Can be supplied in parameters and then */
118
119 // 12 Gev FADC variables
129 // 12 Gev FADC variables
139
140 void Setup(const char* name, const char* description);
141 virtual void InitializePedestals( );
142 THcHodoscope* fglHod; // Hodoscope to get start time
143
144 ClassDef(THcCherenkov,0) // Generic cherenkov class
145};
146
147#endif
int Int_t
bool Bool_t
double Double_t
const char Option_t
Option_t Option_t TPoint TPoint const char mode
Class for gas Cherenkov detectors.
Double_t fENormMax
Double_t fRedChi2Min
virtual void CalculatePedestals()
vector< Double_t > fGoodAdcPulseTime
Double_t fAdcTdcOffset
TClonesArray * frAdcPulseTimeRaw
Int_t fNPedestalEvents
Double_t fRefTime
Double_t GetCerNPE()
vector< Double_t > fGoodAdcPulseIntRaw
vector< Int_t > fNumGoodAdcHits
TClonesArray * frAdcSampPulseInt
Double_t * fPed
Int_t * fPedSum
Double_t fBetaMax
Double_t * fThresh
virtual void Print(const Option_t *opt) const
virtual EStatus Init(const TDatime &run_time)
Int_t fAnalyzePedestals
Double_t fYAtCer
virtual Int_t Decode(const THaEvData &)
Int_t fTotNumTracksMatched
Double_t * fRegionValue
virtual void Clear(Option_t *opt="")
TClonesArray * frAdcSampWaveform
Int_t * fPedCount
virtual Int_t ApplyCorrections(void)
Int_t fTotNumTracksFired
Double_t fXAtCer
virtual void InitializePedestals()
Double_t fNpeThresh
Int_t End(THaRunBase *run)
virtual Int_t FineProcess(TClonesArray &tracks)
Int_t fTotNumAdcHits
TClonesArray * frAdcPulseAmp
Double_t fDpMax
vector< Double_t > fGoodAdcTdcDiffTime
virtual Int_t CoarseProcess(TClonesArray &tracks)
TClonesArray * frAdcSampPedRaw
vector< Double_t > fSampWaveform
virtual void AccumulatePedestals(TClonesArray *rawhits)
Int_t fADC_RefTimeCut
Int_t GetIndex(Int_t nRegion, Int_t nValue)
vector< Int_t > fNumAdcHits
vector< Double_t > fGoodAdcMult
vector< Double_t > fGoodAdcPulseInt
Double_t fENormMin
TClonesArray * frAdcSampPulseTime
Int_t * fPedLimit
TClonesArray * frAdcPedRaw
TClonesArray * frAdcPulseIntRaw
Double_t fDpMin
Double_t * fAdcPulseAmpTest
vector< Double_t > fNpe
Int_t fUseSampWaveform
static const Int_t MaxNumCerPmt
TClonesArray * frAdcPulseTime
TClonesArray * frAdcSampPulseAmpRaw
TClonesArray * frAdcPed
Double_t * fGain
vector< Int_t > fNumTracksMatched
Int_t fTotNumGoodAdcHits
Bool_t * fPresentP
Int_t * fPedSum2
Double_t fSampThreshold
virtual ~THcCherenkov()
Double_t * fAdcTimeWindowMax
Double_t * fPedMean
Double_t * fWidth
Double_t fRedChi2Max
TClonesArray * frAdcSampPulseIntRaw
TClonesArray * frAdcSampPulseTimeRaw
Int_t fRegionsValueMax
Double_t fMirrorZPos
Double_t * fAdcTimeWindowMin
vector< Double_t > fGoodAdcHitUsed
THcHodoscope * fglHod
TClonesArray * frAdcSampPulseAmp
static const Int_t MaxNumAdcPulse
void Setup(const char *name, const char *description)
Int_t * fPedDefault
Int_t * fAdcGoodElem
Double_t fNpeSum
TClonesArray * fAdcErrorFlag
TClonesArray * frAdcSampPed
virtual Int_t ReadDatabase(const TDatime &date)
vector< Double_t > fGoodAdcPed
vector< Int_t > fNumTracksFired
vector< Double_t > fGoodAdcPulseAmp
Double_t fBetaMin
TClonesArray * frAdcPulseInt
virtual Int_t DefineVariables(EMode mode=kDefine)
TClonesArray * frAdcPulseAmpRaw
Int_t fOutputSampWaveform
Builds a Hall C ENGx1INE style list of raw hits from raw data.
Definition THcHitList.h:27
ClassDef(THcHitList, 0)
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends.
TArc a
void tracks()