1#ifndef ROOT_THcHodoscope
2#define ROOT_THcHodoscope
40 THcHodoscope(
const char* name,
const char* description =
"",
129 onTrack =
fGoodFlags[itrack][iplane][ihit].onTrack;
130 goodScinTime =
fGoodFlags[itrack][iplane][ihit].goodScinTime;
131 goodTdcNeg =
fGoodFlags[itrack][iplane][ihit].goodTdcNeg;
132 goodTdcPos =
fGoodFlags[itrack][iplane][ihit].goodTdcPos;
382 std::vector<std::vector<Double_t> >
fdEdX;
404 std::vector<std::vector<std::vector<GoodFlags> > >
fGoodFlags;
414 void Setup(
const char* name,
const char* description);
Class for gas Cherenkov detectors.
Builds a Hall C ENGx1INE style list of raw hits from raw data.
Class representing a single hit for the Hodoscopes.
Generic hodoscope consisting of multiple planes with multiple paddles with phototubes on both ends.
std::vector< std::vector< Int_t > > fClustSize
Double_t * fHodoPosInvAdcAdc
Double_t GetStartTime() const
Double_t * fHodoNegTimeOffset
std::vector< std::vector< Int_t > > fScinHitPaddle
Double_t GetHodoNegInvAdcOffset(Int_t iii) const
Double_t fTimeHist_StartTime_Hits
Double_t GetStartTimeSlop() const
Double_t fTimeHist_FpTime_NumPeaks
std::vector< std::vector< Double_t > > fClusterYPos
THcScintillatorPlane ** fPlanes
Double_t fTOFCalib_beta_lo
Double_t GetTDCThrs() const
Double_t * fHodoPosPhcCoeff
virtual Int_t ReadDatabase(const TDatime &date)
Double_t trackeff_scint_ydiff_max
Double_t GetHodoPosMinPh(Int_t iii) const
void EstimateFocalPlaneTime(void)
Double_t * fHodoPosAdcTimeWindowMin
Double_t GetHodoPos_c2(Int_t iii) const
Double_t * fHodoNegAdcTimeWindowMin
virtual Int_t End(THaRunBase *run=0)
THcScintillatorPlane * GetPlane(Int_t ip)
Double_t GetHodoPosAdcTimeWindowMin(Int_t iii) const
Double_t GetHodoPosPhcCoeff(Int_t iii) const
Double_t * fHodoPosTimeOffset
Double_t fTimeHist_FpTime_Peak
Double_t GetTdcMin() const
Double_t GetHodoPosAdcTimeWindowMax(Int_t iii) const
Double_t GetHodoPosInvAdcOffset(Int_t iii) const
std::vector< Int_t > fThreeScin
Double_t GetHodoPosInvAdcLinear(Int_t iii) const
Double_t * fHodoNegInvAdcLinear
Double_t DetermineTimePeak(Int_t FillFlag)
Double_t * fHodoPosAdcTimeWindowMax
Bool_t fGoodEventTOFCalib
Double_t GetHodoNeg_c2(Int_t iii) const
Double_t GetHodoLCoeff(Int_t iii) const
virtual EStatus Init(const TDatime &run_time)
Int_t GetGoodRawPad(Int_t iii)
Double_t * fHodoNegPhcCoeff
std::vector< TOFPInfo > fTOFPInfo
Double_t GetHodoNegSigma(Int_t iii) const
Double_t fTOFCalib_beta_hi
Double_t GetHodoVelLight(Int_t iii) const
Double_t fTimeHist_StartTime_NumPeaks
Double_t GetHodoNegAdcTimeWindowMax(Int_t iii) const
virtual Int_t Decode(const THaEvData &)
Double_t GetHodoPosInvAdcAdc(Int_t iii) const
Double_t GetHodoPos_c1(Int_t iii) const
Double_t GetHodoNeg_c1(Int_t iii) const
Bool_t IsStartTimeGood() const
Double_t GetHodoNegMinPh(Int_t iii) const
Double_t GetAdcTdcOffset(Int_t ip) const
TClonesArray * fTrackProj
Double_t GetPlaneCenter(Int_t ip)
Double_t fTimeHist_FpTime_Hits
Int_t GetNfptimes() const
THcCherenkov * fCherenkov
std::vector< std::vector< std::vector< GoodFlags > > > fGoodFlags
Double_t fTOFCalib_shtrk_hi
std::vector< Int_t > fNCluster
void OriginalTrackEffTest(void)
std::vector< Int_t > fNScinHit
Double_t GetHodoVelFit(Int_t iii) const
virtual Int_t DefineVariables(EMode mode=kDefine)
Int_t fTrackBetaIncludeSinglePmtHits
std::vector< Int_t > fGoodScinHitsX
Double_t fTimeHist_StartTime_Sigma
Double_t * fHodoNegInvAdcAdc
Double_t * fHodoPosInvAdcLinear
UInt_t GetNPaddles(Int_t ip)
Double_t fStartTimeCenter
std::vector< Int_t > fNClust
Double_t GetTdcMax() const
Double_t * fHodoNegAdcTimeWindowMax
Double_t fTOFCalib_shtrk_lo
Double_t fPathLengthCentral
Double_t GetHodoNegInvAdcLinear(Int_t iii) const
Int_t fTrackEffTestNScinPlanes
Double_t GetStartTimeCenter() const
Int_t GetScinIndex(Int_t nPlane, Int_t nPaddle)
Double_t GetHodoNegAdcTimeWindowMin(Int_t iii) const
Double_t GetHodoSlop(Int_t ip)
Double_t fTOFCalib_cer_lo
Double_t fTimeHist_StartTime_Peak
Int_t GetGoodRawPlane(Int_t iii)
std::vector< std::vector< Double_t > > fdEdX
Double_t * fHodoPosInvAdcOffset
virtual Double_t TimeWalkCorrection(const Int_t &paddle, const ESide side)
Double_t fRatio_xpfp_to_xfp
Double_t GetHodoPosSigma(Int_t iii) const
virtual Int_t CoarseProcess(TClonesArray &tracks)
std::vector< std::vector< Double_t > > fClusterXPos
Double_t GetHodoNegTimeOffset(Int_t iii) const
Double_t GetHodoNegInvAdcAdc(Int_t iii) const
std::vector< TOFCalc > fTOFCalc
Double_t GetTdcToTime() const
Bool_t GetFlags(Int_t itrack, Int_t iplane, Int_t ihit, Bool_t &onTrack, Bool_t &goodScinTime, Bool_t &goodTdcNeg, Bool_t &goodTdcPos) const
const TClonesArray * GetTrackHits() const
Double_t * fHodoNegInvAdcOffset
virtual void Clear(Option_t *opt="")
virtual Int_t ApplyCorrections(void)
Double_t fTimeHist_FpTime_Sigma
Double_t GetHodoCableFit(Int_t iii) const
Int_t GetNScinHits(Int_t iii)
Double_t GetPathLengthCentral()
Double_t GetHodoPosTimeOffset(Int_t iii) const
Double_t GetPlaneSpacing(Int_t ip)
std::vector< std::vector< Int_t > > fClusterSize
Double_t GetTofTolerance() const
virtual Int_t FineProcess(TClonesArray &tracks)
Double_t GetOffsetTime() const
Double_t GetHodoNegPhcCoeff(Int_t iii) const
Double_t trackeff_scint_xdiff_max
std::vector< std::vector< Double_t > > fClustPos
Double_t GetBetaNotrk() const
Int_t GetTdcOffset(Int_t ip) const
Double_t GetBetaNominal() const
A single plane of scintillators.
Int_t GetLast() const override