23 #ifndef PNDFTSHOUGHTRACKCAND_H
24 #define PNDFTSHOUGHTRACKCAND_H
32 #include "FairLogger.h"
97 if ( zLabSys <= 100 )
throwError(
"zLabSys is too small, track model is not valid in that region.");
98 if ( zLabSys >= 1000 )
throwError(
"zLabSys is too big, track model is not valid in that region.");
180 const Double_t zshifted = zLabSys-zRefLabSys;
182 Double_t xOrYLabSys = tan(thetaRad)*zshifted+intercept;
195 const Double_t pZLabSys = pZx*
cos(currentThetaRad);
196 const Double_t pXLabSys = pZx*
sin(currentThetaRad);
197 std::pair<Double_t, Double_t> pZPXLabSys(pZLabSys, pXLabSys);
211 std::pair<Double_t, Double_t> pZPXLabSys(pZLabSys, pXLabSys);
222 const Double_t pZLabSys = pZPXLabSys.first;
223 Double_t pYLabSys = tan(thetaZyRad)*pZLabSys;
PndTrackCand getPndTrackCand()
Double_t getZLineParabola()
friend F32vec4 cos(const F32vec4 &a)
void SetZxParabola(const PndFtsHoughTracklet zxParabola)
Double_t fZCoordLineParabola
FairTrackParP getTrackParPForHit(const UInt_t i)
Double_t getThetaRadVal() const
void SetZyLine(const PndFtsHoughTracklet zyLine)
ClassDef(PndFtsHoughTrackCand, 1)
Interface between PandaRoot (data input and output) and PndFtsHoughTrackFinder (implementation of PR ...
PndFtsHoughTracklet fZxLineBehindDipole
Double_t getXLabForParabola(const Double_t &zLabSys) const
std::pair< Double_t, Double_t > getPZPXLabLine(const Double_t &zLabSys, const PndFtsHoughTracklet *const lineTracklet) const
friend F32vec4 sin(const F32vec4 &a)
Bool_t isComplete() const
std::pair< Double_t, Double_t > getPZPXLabParabola(const Double_t &zLabSys) const
void SetZxLineBeforeDipole(const PndFtsHoughTracklet zxLineParabola)
PndTrackCand fIntTrackCand
void addUniqueTrackletHits(const PndFtsHoughTracklet inTracklet)
PndFtsHoughTrackerTask * fTrackerTask
Double_t getZRefLabSys() const
TVector3 getPos(const Double_t zLabSys) const
void throwError(const TString s) const
For error reporting.
PndFtsHoughTracklet fZxParabola
Class for saving the result of one Hough transform for FTS PR.
Double_t getXOrYLabForLine(const Double_t &zLabSys, const PndFtsHoughTracklet *const lineTracklet) const
PndFtsHoughTrackCand(PndFtsHoughTrackerTask *trackerTask=0)
Set pointer to tracker task (super important as it provides an I/O interface to PandaRoot) ...
Double_t getSecondVal() const
Double_t fZCoordParabolaLine
Double_t getZParabolaLine()
TVector3 getP(const Double_t zLabSys) const
void throwIfZOutOfRange(const Double_t &zLabSys) const
void SetZxLineBehindDipole(const PndFtsHoughTracklet zxParabolaLine)
Double_t getThetaZyRad(const Double_t) const
PndFtsHoughTracklet fZxLineBeforeDipole
Double_t getQdivPzx() const
Class for saving a FTS track cand. for Hough transform based FTS PR.
Double_t getPYLab() const
Double_t getXLabSys(const Double_t zLabSys) const
PndFtsHoughTracklet fZyLine
Double_t getThetaZxRad(const Double_t zLabSys) const