16 class HitT :
public TObject {
20 Int_t sector, barrel, layer, ladder, wafer, hybrid, rdo;
21 Double32_t xG, yG, zG;
22 Double32_t xGC, yGC, zGC;
23 Double32_t xL, yL, zL;
28 Double32_t xPG, yPG, zPG;
29 Double32_t cxPG, cyPG, czPG;
30 Double32_t wGu, wGv, wGw;
31 Double32_t xPL, yPL, zPL;
33 Bool_t isCrossingMembrain;
35 Double32_t uPGl, vPGl;
36 Double32_t tuPGl, tvPGl;
37 Double32_t xPGlG, yPGlG, zPGlG;
38 Double32_t cxPGlG, cyPGlG, czPGlG;
39 Double32_t xPGlL, yPGlL, zPGlL;
44 Double32_t anode, timeb;
49 Double32_t dsuD, dsvD;
50 Double32_t uAdcD, vAdcD;
51 Double32_t duAdcD, dvAdcD;
65 HitT(Int_t B = 0, Int_t L = 0, Int_t l = 0, Int_t W = 0, Int_t H = 0,
66 Double32_t X = 0, Double32_t Y = 0, Double32_t Z = 0,
67 Double32_t XL = 0, Double32_t YL = 0, Double32_t ZL = 0) {
68 memset(&start, 0, &end - &start);
69 SetId(B,L,l,W,H); Set(X,Y,Z,XL,YL,ZL);
73 void Set(Double32_t X, Double32_t Y, Double32_t Z,
74 Double32_t XL = 0, Double32_t YL = 0, Double32_t ZL = 0) {
75 xG = X; yG = Y; zG = Z;
76 uM = XL; vM = YL; w = ZL;
78 void SetHitLength(Double_t sh) {sLength = sh;}
79 void SetHitLengthR(Double_t sh) {sLengthR = sh;}
80 void SetHitdR(Double_t sh) {dR = sh;}
81 void SetHitFlag(
const UInt_t flag) {hitFlag = flag;}
82 void SetL(Double32_t X, Double32_t Y, Double32_t Z) {xL = X; yL = Y; zL = Z;}
83 void SetGC(Double32_t X, Double32_t Y, Double32_t Z) {xGC = X; yGC = Y; zGC = Z;}
84 void SetLM(Double32_t X, Double32_t Z) {u = X; v = Z;}
85 void SetAnode(Double32_t p=0) {anode=p;}
86 void SetTimeB(Double32_t p=0) {timeb=p;}
87 void SetId(Int_t B = 0, Int_t L = 0, Int_t l = 0, Int_t W = 0, Int_t H = 0);
89 void Set(Double32_t *xyzG, Double32_t *xyzL) {Set(xyzG[0],xyzG[1],xyzG[2],xyzL[0],xyzL[1],xyzL[2]);}
90 void SetpT(Double32_t p) {pT = p;}
91 void SetMom(Double32_t p) {pMom = p;}
92 void SetUVPred(Double32_t u, Double32_t v) {uP = u; vP = v;}
93 void SettUVPred(Double32_t tu, Double32_t tv) {tuP = tu; tvP = tv;}
94 void SetWG(Double32_t wu, Double32_t wv, Double32_t ww) { wGu = wu; wGv = wv; wGw = ww;}
97 void SetXyzG(
const Double_t *x) {Double32_t *xyzPG = &xPG;
for (Int_t i = 0; i < 3; i++) xyzPG[i] = x[i];}
98 void SetDirG(
const Double_t *x) {Double32_t *dirPG = &cxPG;
for (Int_t i = 0; i < 3; i++) dirPG[i] = x[i];}
99 void SetXyzL(
const Double_t *x) {Double32_t *xyzPL = &xPL;
for (Int_t i = 0; i < 3; i++) xyzPL[i] = x[i];}
100 void SetRDO(Int_t r) {rdo = r;}
101 void SetuvD(Double32_t u, Double32_t v) {uD = u; vD = v;}
102 void SetuvDError(Double32_t du, Double32_t dv) {duD = du; dvD = dv;}
103 void SetSigma(Double32_t su, Double32_t sv) {suD = su; svD = sv;}
104 void SetSigmaError(Double32_t dsu, Double32_t dsv) {dsuD = dsu; dsvD = dsv;}
105 void SetAdc(Double32_t uAdc, Double32_t vAdc) {uAdcD = uAdc; vAdcD = vAdc;}
106 void SetAdcError(Double32_t duAdc, Double32_t dvAdc) {duAdcD = duAdc; dvAdcD = dvAdc;}
107 #ifdef __USE_GLOBAL__
108 void SetUVPredGl(Double32_t u, Double32_t v) {uPGl = u; vPGl = v;}
109 void SettUVPredGl(Double32_t tu, Double32_t tv) {tuPGl = tu; tvPGl = tv;}
110 void SetXyzGl(
const Double_t *x) {Double32_t *xyzPG = &xPGlG;
for (Int_t i = 0; i < 3; i++) xyzPG[i] = x[i];}
111 void SetDirGl(
const Double_t *x) {Double32_t *dirPG = &cxPGlG;
for (Int_t i = 0; i < 3; i++) dirPG[i] = x[i];}
112 void SetXyzGlL(
const Double_t *x) {Double32_t *xyzPL = &xPGlL;
for (Int_t i = 0; i < 3; i++) xyzPL[i] = x[i];}
114 void SetHitPerTrack(Int_t k) {NoHitPerTrack = k;}
115 void SetuHat(Double_t u) {uHat = u;}
116 void SetvHat(Double_t v) {vHat = v;}
117 void SetNofHits(Int_t n) {NofHits = n;}
118 void SetNofFHits(Int_t n) {NofFHits = n;}
119 void SetisFitted(Int_t k=1) {isFitted = k;}
120 void SetisTrack(Int_t k=1) {isTrack = k;}
121 void SetUsedInFit(Int_t k=0) {isUsedInFit = k;}
122 void SetisPrimary(Bool_t k) {isPrimary = k;}
123 void SetisCrossingMembrain(Bool_t k) {isCrossingMembrain = k;}
124 UInt_t GetHitFlag()
const {
return hitFlag;}
125 Double32_t GetU()
const {
return u;}
126 Double32_t GetV()
const {
return v;}
127 Double32_t GetuD()
const {
return uD;}
128 Double32_t GetvD()
const {
return vD;}
129 Double32_t *GetXyzP() {
return &xPG;}
130 Double32_t *GetXyzL() {
return &xPL;}
131 Double32_t *GetXyzW() {
return &xPL;}
132 Double32_t GetPredtU()
const {
return tuP;}
133 Double32_t GetPredtV()
const {
return tvP;}
134 Double32_t GetPredU()
const {
return uP;}
135 Double32_t GetPredV()
const {
return vP;}
136 Bool_t GetisPrimary()
const {
return isPrimary;}
137 Bool_t GetisCrossingMembrain(){
return isCrossingMembrain;}
138 #ifdef __USE_GLOBAL__
140 Double32_t *GetXyzPGl() {
return &xPGlG;}
141 Double32_t *GetXyzLGl() {
return &xPGlL;}
142 Double32_t *GetXyzWGl() {
return &xPGlL;}
143 Double32_t GetPredGltU()
const {
return tuPGl;}
144 Double32_t GetPredGltV()
const {
return tvPGl;}
145 Double32_t GetPredGlU()
const {
return uPGl;}
146 Double32_t GetPredGlV()
const {
return vPGl;}
148 Int_t Barrel()
const {
return barrel;}
149 Int_t Layer()
const {
return layer;}
150 Int_t Ladder()
const {
return ladder;}
151 Int_t Wafer()
const {
return wafer;}
152 Int_t GetId()
const {
return Id;}
154 virtual void Print(Option_t *opt=
"")
const;