//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // a cluster in the Testbench // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Napoleon Bonapart TUM (original author) // // //----------------------------------------------------------- #ifndef TBGEMCLUSTER_HH #define TBGEMCLUSTER_HH // Base Class Headers ---------------- #include "FairHit.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include #include #include "TVector3.h" #include "TpcAlignmentManager.h" // Collaborating Class Declarations -- class TVector3; class TpcAlignmentManager; class TBGEMCluster : public FairHit { public: // Constructors/Destructors --------- TBGEMCluster(); TBGEMCluster(const TBGEMCluster&); TBGEMCluster( const TVector3& posuvw, const TVector3& posuvwErr, const TVector3& posxyz, const TVector3& posxyzErr, double Amp, int Det, unsigned int Size=1, TString Detname="", double Strip=0, TpcAlignmentManager * alman =NULL); virtual ~TBGEMCluster(); friend std::ostream& operator<< (std::ostream& s, const TBGEMCluster& me); // Accessors ----------------------- double amp() const {return famp;} unsigned int size() const {return fsize;} double pitch() const {return fpitch;} unsigned int detid() const {return fdetid;} TString detname() const {return fdetName;} // TpcAlignmentManager* alMan() const{return falman;} void GetPlane(TVector3 & uu, TVector3 & vv, TVector3 & oo) const; // Modifiers ----------------------- void SetSize(unsigned int newSize){fsize=newSize;} void SetDetname(TString newDetName){fdetName=newDetName;} void SetAlMan(TpcAlignmentManager * man){falman = man;} //Could be usefull TVector3 uvw() const {return fposuvw;} TVector3 xyz() const {return fposxyz;} double u() const {return fposuvw.x();} double v() const {return fposuvw.y();} double w() const {return fposuvw.z();} double x() const {return fposxyz.x();} double y() const {return fposxyz.y();} double z() const {return fposxyz.z();} double uerr() const {return fposuvwerr.x();} double verr() const {return fposuvwerr.y();} double werr() const {return fposuvwerr.z();} double xerr() const {return fposxyzerr.x();} double yerr() const {return fposxyzerr.y();} double zerr() const {return fposxyzerr.z();} private: // Private Data Members ------------ //in detector coordinates TVector3 fposuvw; TVector3 fposuvwerr; //in test bench coordinates TVector3 fposxyz; TVector3 fposxyzerr; TVector3 foo; TVector3 fuu; TVector3 fvv; TpcAlignmentManager * falman;//! double fpitch; double famp; int fdetid;//for almanager TString fdetName; unsigned int fsize; // Private Methods ----------------- public: ClassDef(TBGEMCluster,1) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------