14#ifndef BMNTOF1DETECTOR_H
15#define BMNTOF1DETECTOR_H 1
26#include "TClonesArray.h"
27#include "TDirectory.h"
30#include "TGraphErrors.h"
39#include <RtypesCore.h>
40#include <TGeoManager.h>
58 static const Int_t fHalfMaxInt = kMaxInt * 0.5 - 1;
59 static const Int_t fNStrMax = 48;
62 Double_t fStripLength, fSignalVelosity, fSignalVelosityStr[fNStrMax];
67 std::vector<std::vector<std::vector<Double_t>>> vHitsL;
68 std::vector<std::vector<std::vector<Double_t>>> vHitsR;
71 Short_t fIndexL[fNStrMax], fIndexR[fNStrMax], fIndexLtemp[fNStrMax], fIndexRtemp[fNStrMax];
72 Double_t fTimeL[fNStrMax], fTimeR[fNStrMax], fTimeLtemp[fNStrMax], fTimeRtemp[fNStrMax], fTime[fNStrMax];
73 Double_t fWidthL[fNStrMax], fWidthR[fNStrMax], fWidthLtemp[fNStrMax], fWidthRtemp[fNStrMax], fWidth[fNStrMax];
74 Double_t fTof[fNStrMax];
75 Double_t fDoubleTemp, fMaxDelta;
76 Int_t fHit_Per_Ev, fNEvents, fStrip;
77 Bool_t fFlagHit[fNStrMax], fKilled[fNStrMax];
79 Double_t fCorrLR[fNStrMax], fCorrTimeShift[fNStrMax];
80 Int_t fDigitL[fNStrMax], fDigitR[fNStrMax], fHit[fNStrMax];
81 Double_t fCommonTimeShift;
82 TVector3 fCentrStrip[fNStrMax], fStripAngle[fNStrMax], fCrossPoint[fNStrMax], fVectorTemp;
88 TH2S *hdT_vs_WidthDet[fNStrMax + 1], *hdT_vs_WidthT0[fNStrMax + 1];
89 TH1I* hdT[fNStrMax + 1];
90 TH1I *hHitByCh, *hHitPerEv;
92 TH1S *hDy_near, *hDtime_near, *hDWidth_near;
93 TH1S *hDy_acros, *hDtime_acros, *hDWidth_acros;
94 TH2S *hTempDtimeDy_near, *hTempDtimeDy_acros;
96 TGraphErrors* gSlew[fNStrMax];
97 TF1 *funT0[fNStrMax], *funRPC[fNStrMax];
100 Double_t CalculateDt(Int_t Str);
101 Bool_t GetCrossPoint(Int_t NStrip, Double_t tL, Double_t tR);
102 void AddHit(Int_t Str, TClonesArray* TofHit);
103 void AddConteiner(Int_t Str, TClonesArray* TofHit);
104 Int_t FormIndex(Int_t IndL, Int_t IndR);
124 fMaxDelta = (fStripLength * 0.5 + 3.0) * fSignalVelosity;
Bool_t GetXYZTime(Int_t Str, TVector3 *XYZ, Double_t *ToF)
virtual ~BmnTOF1Detector()
void SetStripLength(Double_t l)
Bool_t SetGeoFile(TString NameFile)
ClassDef(BmnTOF1Detector, 4)
Int_t FindHitsNew(BmnTrigDigit *T0, TClonesArray *TofHit, int printnaw)
Bool_t SetCorrLR(TString NameFile)
void KillSide(Int_t NumberOfSide)
Double_t GetWidth(Int_t Str)
Bool_t GetLRTime(Int_t Str, Double_t *LMinusRTime)
Bool_t SetCorrTimeShift(TString NameFile)
Double_t GetWidthR(Int_t Str)
void KillStrip(Int_t NumberOfStrip)
Bool_t SetDigitNew(BmnTof1Digit *TofDigit, Int_t ind=-1)
Double_t GetTime(Int_t Str)
Double_t GetWidthL(Int_t Str)
Bool_t SetGeo(BmnTof1GeoUtils *pGeoUtils)
BmnTOF1Detector(Int_t tofId, Int_t NPlane, Int_t FillHistLevel, Int_t Verbose)
Bool_t SetSpeedOfSignal(TString NameFile)
Bool_t SetCorrSlewing(TString NameFile)
Bool_t SaveHistToFile(TString NameFile)
Define enumerations used in tracking.