// $Id: Track.h,v 1.4 2003/06/12 11:06:56 helgevos Exp $ #ifndef STTBANA_TRACK_H #define STTBANA_TRACK_H 1 // Include files #include #include "TObject.h" #include "Cluster.h" #include "RawEvent.h" /** @class Track Track.h STtbana/Track.h * * * @author Helge VOSS * @date 2003-02-06 */ class Track : public TObject { public: /// Dumy constructor Track(){}; /// Standard constructor Track(double x, double tx, double y,double ty, double chi2, double sigma ): m_x(x), m_tx(tx),m_y(y), m_ty(ty), m_chi2(chi2), m_sigma(sigma){ } ; virtual ~Track( ){}; ///< Destructor double x(); ///< return x of track double tx(); ///< return tx of track double y(); ///< return y of track double ty(); ///< return ty of trac double chi2(); double sigma(); void setXdet(double Xdet, int idet); ///< set x: track detector intersect. void setYdet(double Ydet, int idet); ///< set y: track detector intersect. void setStripOnDet(double s, int idet); ///< set strip detector intersect. void setADCvalues(RawEvent & rev,int idet, int maxstrip); ///< set adc valuse of near strips on detector double xdet(int idet); ///< get x: track detector intersect. double ydet(int idet); ///< get y: track detector intersect. double stripOnDet(int idet); ///< get strip detector intersect. double chargeTwoStrips(int idet); double chargeFourStrips(int idet); double chargeSixStrips(int idet); // ADC counts in the strips of the detector (ladder) idet where the // track passes the detector double adcp3(int idet); // strip above intersection point +2 double adcp2(int idet); // strip above intersection point +1 double adcp1(int idet); // strip above intersection point double adcm1(int idet); // strip below intersection point double adcm2(int idet); // strip below intersection point -1 double adcm3(int idet); // strip below intersection point -2 //find clostest cluster to the track and retrun its SIGNED distance in #strips double Track::minClusterDist(std::vector clList, int idet); //find a cluster matching the track. Return NULL pointer if no cluster //found closer to the track than at last "mindist" (given im #strips) Cluster* matchCluster(std::vector clList, int idet, double mindist = 0.2, double minClChi2 = 0. );///< find matching cluster bool ismatched(Cluster* icl, int idet, double mindist=0.2); /// m_strip; //|| STL /< strip hit on the detectors std::vector m_xdet ; //|| STL /< x coord. on the detectors std::vector m_ydet ; //|| STL /< y coord. on the detectors std::vector m_adcp2; //|| STL /< signal on strip near track std::vector m_adcp1; //|| STL /< signal on strip near track std::vector m_adcm1; //|| STL /< signal on strip near track std::vector m_adcm2; //|| STL /< signal on strip near track std::vector m_adcm3; //|| STL /< signal on strip near track std::vector m_adcp3; //|| STL /< signal on strip near track }; #endif // STTBANA_TRACK_H