BmnRoot 26.10.0-19-g6979a6c6
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnDchHit.h
Go to the documentation of this file.
1//------------------------------------------------------------------------------------------------------------------------
2#ifndef __BMN_DCH_HIT_H
3#define __BMN_DCH_HIT_H 1
4
5#include "BmnHit.h"
6#include "TArrayI.h"
7//------------------------------------------------------------------------------------------------------------------------
8class BmnDchHit : public BmnHit
9{
10
11 public:
12 BmnDchHit();
13 BmnDchHit(Int_t detectorID,
14 TVector3 pos,
15 TVector3 dpos,
16 Int_t refIndex,
17 Int_t flag,
18 Int_t trackIndex,
19 UChar_t dchlayer);
20 BmnDchHit(Int_t detectorID, TVector3 pos, TVector3 dpos, Int_t refIndex, Int_t flag);
21 BmnDchHit(Int_t detectorID, TVector3 pos, TVector3 dpos, Int_t refIndex);
22
23 virtual ~BmnDchHit();
24
25 void Print(const Option_t* opt = 0) const;
26
27 /** Accessors **/
28 Int_t GetTrackID() const { return fTrackID; } // get track ID
29 Int_t GetFlag() const { return fFlag; } // get flag
30 Int_t GetNofDim() const { return fNofDim; } // get number of measurements per point
31 // Int_t Overlap() const { return fIndex.GetSize()-1; } //
32 // Int_t GetIndex(Int_t indx = 0) const { return fIndex[indx]; } //
33 UChar_t GetLayer() const { return fDchLayer; } //
38 Int_t GetDetectorID() const { return fDetectorID; } //
39 Double_t GetPhi() const { return fPhi; } // get rotation angle
40 Double_t GetMeas(Int_t indx = 0) const { return fMeas[indx]; } // get measurement
41 Double_t GetError(Int_t indx = 0) const { return fError[indx]; } // get measurement error
42 // const TArrayI* Index() const { return &fIndex; } ///< Get index array of the hit
43 UChar_t GetDchId() const { return fDchId; }
45 Int_t GetHitId() const { return fID; }
46 Int_t GetEventID() const { return fEventID; }
47
48 Double_t GetDrift(void) const { return fDriftLength; };
50 Double_t GetWirePosition(void) const { return fWirePos; };
52 Double_t GetWireDelay(void) const { return fWireDelayLength; };
54 Double_t GetTShift(void) const { return fTS; };
55 void SetTShift(Double_t v) { fTS = v; };
56 Double_t GetDriftTime(void) const { return fTS; };
57 void SetDriftTime(Double_t v) { fTS = v; };
58
59 /** Modifiers **/
60 // void SetTrackId(Int_t trackID) { fTrackID = trackID; }
61 void SetFlag(Int_t flag) { fFlag = flag; }
62 void SetDchId(UChar_t id) { fDchId = id; }
65 void SetDchLayerType(TString layer_type) { fDchLayerType = layer_type; }
66 void SetWireNumber(Int_t wire_num) { fWireNumber = wire_num; }
68 void SetNofDim(Int_t dim) { fNofDim = dim; } // set number of measurements per point
69 void SetPhi(Double_t phi) { fPhi = phi; } // set rotation angle
70 void SetMeas(Double_t meas, Int_t indx = 0) { fMeas[indx] = meas; } // set measurement
71 void SetError(Double_t err, Int_t indx = 0) { fError[indx] = err; } // set measurement
72 void SetIndex(Int_t indx); ///< Add index of detector hit
73 void SetHitId(Int_t idx) { fID = idx; }
74 void SetEventID(Int_t iev) { fEventID = iev; }
75
76 Bool_t IsSortable() const { return kTRUE; }
77 Int_t Compare(const TObject* hit) const; ///< sort in ascending order in abs(Z)
78
79 Bool_t IsUsed() const { return fUsing; }
80
81 void SetUsing(Bool_t use) { fUsing = use; }
82
83 protected:
84 Int_t fEventID; // identifier of event
85 Int_t fID; // identifier of hit in hits array
86 Int_t fDetectorID; // Detector ID
87 UChar_t fDchLayer; // Dch layer ID (0-7)
88 UShort_t fDchLayerNumber; // Dch layer ID (0-7)
89 TString fDchLayerType; // DCH layer type (x, y, v, u)
90 Int_t fWireNumber; // Nearest wire to a MC-track
91 Double_t fDistanceToWire; // Distance from a MC-point to the nearest wire
92 Int_t fTrackID; // track ID
93 Int_t fFlag; // Flag for general purposes [TDC, event tagging...]
94 Int_t fNofDim; // number of measurements per point
95 Double32_t fPhi; // track angle
96 Double32_t fMeas[2]; // measurements (coordinates)
97 Double32_t fError[2]; // measurement errors
98 // TArrayI fIndex; //! // array of indices of overlapped MC points
99 UChar_t fDchId; // DCH Id (1, 2)
100 UShort_t fDchIdNumber; // DCH Id (1, 2)
101
103
105
107};
108//------------------------------------------------------------------------------------------------------------------------
109#endif
vector< Double_t > dist(vector< Double_t > qp, Double_t mu)
Definition BmnMath.cxx:869
const UInt_t dim
__m128 v
Definition P4_F32vec4.h:1
bool Bool_t
unsigned short UShort_t
int Int_t
double Double32_t
unsigned char UChar_t
double Double_t
constexpr Bool_t kTRUE
const char Option_t
#define ClassDef(name, id)
Int_t fWireNumber
Definition BmnDchHit.h:90
Double_t GetTShift(void) const
Definition BmnDchHit.h:54
void SetDistanceToWire(Double_t dist)
Definition BmnDchHit.h:67
void SetHitId(Int_t idx)
Definition BmnDchHit.h:73
void SetWirePosition(Double_t v)
Definition BmnDchHit.h:51
void SetIndex(Int_t indx)
Add index of detector hit.
void SetPhi(Double_t phi)
Definition BmnDchHit.h:69
TString GetLayerType() const
Definition BmnDchHit.h:35
Double_t GetDistanceToWire()
Definition BmnDchHit.h:37
void SetDchIdNumber(UShort_t id)
Definition BmnDchHit.h:63
Double_t GetDrift(void) const
Definition BmnDchHit.h:48
Double_t GetDriftTime(void) const
Definition BmnDchHit.h:56
UChar_t fDchId
Definition BmnDchHit.h:99
void SetDchLayerNumber(UShort_t id)
Definition BmnDchHit.h:64
Int_t fTrackID
Definition BmnDchHit.h:92
Double32_t fWirePos
Definition BmnDchHit.h:102
void Print(const Option_t *opt=0) const
Definition BmnDchHit.cxx:75
void SetDchLayerType(TString layer_type)
Definition BmnDchHit.h:65
Bool_t fUsing
Definition BmnDchHit.h:104
virtual ~BmnDchHit()
Definition BmnDchHit.cxx:73
void SetDrift(Double_t v)
Definition BmnDchHit.h:49
void SetFlag(Int_t flag)
Modifiers.
Definition BmnDchHit.h:61
Int_t fDetectorID
Definition BmnDchHit.h:86
Double_t GetPhi() const
Definition BmnDchHit.h:39
void SetUsing(Bool_t use)
Definition BmnDchHit.h:81
UShort_t fDchIdNumber
Definition BmnDchHit.h:100
Int_t fID
Definition BmnDchHit.h:85
UShort_t GetLayerNumber() const
Definition BmnDchHit.h:34
Bool_t IsUsed() const
Definition BmnDchHit.h:79
Int_t GetDetectorID() const
Definition BmnDchHit.h:38
UShort_t GetDchIdNumber() const
Definition BmnDchHit.h:44
Double32_t fTS
Definition BmnDchHit.h:102
Double_t GetError(Int_t indx=0) const
Definition BmnDchHit.h:41
Double_t GetWirePosition(void) const
Definition BmnDchHit.h:50
void SetDchId(UChar_t id)
Definition BmnDchHit.h:62
Double32_t fError[2]
Definition BmnDchHit.h:97
Double32_t fMeas[2]
Definition BmnDchHit.h:96
Int_t GetTrackID() const
Accessors.
Definition BmnDchHit.h:28
void SetWireNumber(Int_t wire_num)
Definition BmnDchHit.h:66
void SetEventID(Int_t iev)
Definition BmnDchHit.h:74
void SetMeas(Double_t meas, Int_t indx=0)
Definition BmnDchHit.h:70
Int_t fFlag
Definition BmnDchHit.h:93
Double_t GetMeas(Int_t indx=0) const
Definition BmnDchHit.h:40
Double_t GetWireDelay(void) const
Definition BmnDchHit.h:52
Double_t fDistanceToWire
Definition BmnDchHit.h:91
Int_t fNofDim
Definition BmnDchHit.h:94
void SetTShift(Double_t v)
Definition BmnDchHit.h:55
Int_t GetNofDim() const
Definition BmnDchHit.h:30
void SetNofDim(Int_t dim)
Definition BmnDchHit.h:68
Int_t GetEventID() const
Definition BmnDchHit.h:46
Int_t Compare(const TObject *hit) const
sort in ascending order in abs(Z)
Definition BmnDchHit.cxx:93
void SetDriftTime(Double_t v)
Definition BmnDchHit.h:57
Double32_t fWireDelayLength
Definition BmnDchHit.h:102
Double32_t fDriftLength
Definition BmnDchHit.h:102
void SetError(Double_t err, Int_t indx=0)
Definition BmnDchHit.h:71
UChar_t GetLayer() const
Definition BmnDchHit.h:33
Double32_t fPhi
Definition BmnDchHit.h:95
Int_t fEventID
Definition BmnDchHit.h:84
UShort_t fDchLayerNumber
Definition BmnDchHit.h:88
Int_t GetFlag() const
Definition BmnDchHit.h:29
UChar_t fDchLayer
Definition BmnDchHit.h:87
UChar_t GetDchId() const
Definition BmnDchHit.h:43
Bool_t IsSortable() const
Definition BmnDchHit.h:76
TString fDchLayerType
Definition BmnDchHit.h:89
void SetWireDelay(Double_t v)
Definition BmnDchHit.h:53
Int_t GetHitId() const
Definition BmnDchHit.h:45
Int_t GetWireNumber()
Definition BmnDchHit.h:36
BmnHit()
Default constructor.
Definition BmnHit.cxx:12