//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Track on Riemann Sphere // Circle parameters can be calculated from plane parameters // plane(c,nx,ny,nz); // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef TPCRIEMANNTRACK_HH #define TPCRIEMANNTRACK_HH // Base Class Headers ---------------- #include "TObject.h" // Collaborating Class Headers ------- #include #include "TVectorD.h" // Collaborating Class Declarations -- class PndTpcRiemannHit; class PndTpcRiemannTrack : public TObject{ public: // Constructors/Destructors --------- PndTpcRiemannTrack(); ~PndTpcRiemannTrack(){;} // Accessors ----------------------- const TVectorD& n() const {return _n;} double c() const {return _c;} const TVectorD& av() const {return _av;} TVectorD orig() const; double r() const; double dip() const; double sign() const; unsigned int getNumHits() const {return _hits.size();} PndTpcRiemannHit* getHit(unsigned int i) const {return _hits[i];} PndTpcRiemannHit* getLastHit() const {return getHit(getNumHits()-1);} double m() const {return _m;} double t() const {return _t;} // Modifiers ----------------------- void addHit(PndTpcRiemannHit* hit); // Operations ---------------------- void refit(); double dist(PndTpcRiemannHit* hit); void szFit(); double szDist(PndTpcRiemannHit* hit); private: // Private Data Members ------------ TVectorD _n; // normal vector to plane; double _c; // distance of plane to origin double _m; //parameters of sz-fit double _t; std::vector _hits; //! TVectorD _av; // average over all hits // Private Methods ----------------- public: ClassDef(PndTpcRiemannTrack,1) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------