89 #ifndef STAR_StFtpcPoint
90 #define STAR_StFtpcPoint
93 #include "TObjArray.h"
97 #include "StDetectorId.h"
98 #include "StFtpcTrack.hh"
116 Int_t mNextHitNumber;
123 Float_t mPadPosSigma;
124 Float_t mTimePosSigma;
140 Double_t mXPrimResidual;
141 Double_t mYPrimResidual;
142 Double_t mRPrimResidual;
143 Double_t mPhiPrimResidual;
144 Double_t mXGlobResidual;
145 Double_t mYGlobResidual;
146 Double_t mRGlobResidual;
147 Double_t mPhiGlobResidual;
161 Float_t timepossigma,
176 void TransformFtpc2Global();
177 void TransformGlobal2Ftpc();
178 void SetStFtpcHitCoord();
183 StFtpcHit* GetStFtpcHit() {
return mStEventHit; }
185 TVector3 GetCoord() {
return mCoord; }
186 TVector3 GetError() {
return mError; }
188 Double_t GetX()
const {
return mCoord.X(); }
189 Double_t GetY()
const {
return mCoord.Y(); }
190 Double_t GetZ()
const {
return mCoord.Z(); }
191 Double_t GetRadius()
const {
return TMath::Sqrt(mCoord.X()*mCoord.X() + mCoord.Y()*mCoord.Y()); }
192 Double_t GetXerr()
const {
return mError.X(); }
193 Double_t GetYerr()
const {
return mError.Y(); }
194 Double_t GetZerr()
const {
return mError.Z(); }
195 Double_t GetSigmaPhi()
const {
return mSigmaPhi; }
196 Double_t GetSigmaR()
const {
return mSigmaR; }
199 void SetTrackedFlag(Bool_t tracked);
200 Bool_t GetTrackedFlag();
201 void SetGlobalFlag(Bool_t global);
202 Bool_t GetGlobalFlag();
203 void SetUnusableForTrackingFlag(Bool_t global);
204 Bool_t GetUnusableForTrackingFlag();
208 Bool_t IsInGlobalCoord() {
return GetGlobalFlag(); }
209 Bool_t GetUsage() {
return GetTrackedFlag(); }
210 Int_t GetHitNumber()
const {
return mHitNumber; }
211 Int_t GetNextHitNumber()
const {
return mNextHitNumber; }
212 Int_t GetTrackNumber()
const {
return mTrackNumber; }
213 Float_t GetPadPos()
const {
return mPadPos; }
214 Float_t GetTimePos()
const {
return mTimePos; }
215 Float_t GetPadPosSigma()
const {
return mPadPosSigma; }
216 Float_t GetTimePosSigma()
const {
return mTimePosSigma; }
217 Long_t GetPadRow()
const {
return mPadRow; }
218 Long_t GetSector()
const {
return mSector; }
219 Long_t GetNumberPads()
const {
return mNumberPads; }
220 Long_t GetNumberBins()
const {
return mNumberBins; }
221 Long_t GetMaxADC()
const {
return mMaxADC; }
222 Long_t GetCharge()
const {
return mCharge; }
223 Long_t GetFlags()
const {
return mFlags; }
224 Int_t GetDetectorId()
const;
225 Long_t GetHardwarePosition()
const;
227 Double_t GetXPrimResidual()
const {
return mXPrimResidual; }
228 Double_t GetYPrimResidual()
const {
return mYPrimResidual; }
229 Double_t GetRPrimResidual()
const {
return mRPrimResidual; }
230 Double_t GetPhiPrimResidual()
const {
return mPhiPrimResidual; }
231 Double_t GetXGlobResidual()
const {
return mXGlobResidual; }
232 Double_t GetYGlobResidual()
const {
return mYGlobResidual; }
233 Double_t GetRGlobResidual()
const {
return mRGlobResidual; }
234 Double_t GetPhiGlobResidual()
const {
return mPhiGlobResidual; }
237 void SetStFtpcHit(
StFtpcHit* f) { mStEventHit = f; }
239 void SetX(Double_t f) { mCoord.SetX(f); }
240 void SetY(Double_t f) { mCoord.SetY(f); }
241 void SetZ(Double_t f) { mCoord.SetZ(f); }
242 void SetXerr(Double_t f) { mError.SetX(f); }
243 void SetYerr(Double_t f) { mError.SetY(f); }
244 void SetZerr(Double_t f) { mError.SetZ(f); }
246 void SetGlobalCoord(Bool_t f) { SetGlobalFlag(f); }
247 void SetUsage(Bool_t f) { SetTrackedFlag(f); }
248 void SetHitNumber(Int_t f) { mHitNumber = f; }
249 void SetNextHitNumber(Int_t f) { mNextHitNumber = f; }
250 void SetTrackNumber(Int_t f) { mTrackNumber = f; }
251 void SetPadPos(Float_t f) { mPadPos = f; }
252 void SetTimePos(Float_t f) { mTimePos = f; }
253 void SetPadPosSigma(Float_t f) { mPadPosSigma = f; }
254 void SetTimePosSigma(Float_t f){ mTimePosSigma = f; }
255 void SetPadRow(Long_t f) { mPadRow = f; }
256 void SetSector(Long_t f) { mSector = f; }
257 void SetNumberPads(Long_t f) { mNumberPads = f; }
258 void SetNumberBins(Long_t f) { mNumberBins = f; }
259 void SetMaxADC(Long_t f) { mMaxADC = f; }
260 void SetCharge(Long_t f) { mCharge = f; }
261 void SetFlags(Long_t f) { mFlags = f; }
262 void SetSigmaPhi(Double_t f) { mSigmaPhi = f; }
263 void SetSigmaR(Double_t f) { mSigmaR = f; }
265 void SetResidualsToZero();
266 void SetXPrimResidual(Double_t f) { mXPrimResidual = f; }
267 void SetYPrimResidual(Double_t f) { mYPrimResidual = f; }
268 void SetRPrimResidual(Double_t f) { mRPrimResidual = f; }
269 void SetPhiPrimResidual(Double_t f){ mPhiPrimResidual = f; }
270 void SetXGlobResidual(Double_t f) { mXGlobResidual = f; }
271 void SetYGlobResidual(Double_t f) { mYGlobResidual = f; }
272 void SetRGlobResidual(Double_t f) { mRGlobResidual = f; }
273 void SetPhiGlobResidual(Double_t f){ mPhiGlobResidual = f; }