//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // a cluster in One of the Silicon plane of the Testbench // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Napoleon Bonapart TUM (original author) // // //----------------------------------------------------------- #ifndef TBSICLUSTER_HH #define TBSICLUSTER_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 TBSICluster : public FairHit { public: // Constructors/Destructors --------- TBSICluster(); TBSICluster(const TBSICluster&); TBSICluster( 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 ~TBSICluster(); friend std::ostream& operator<< (std::ostream& s, const TBSICluster& 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(){return fposuvw;} TVector3 xyz(){return fposxyz;} TVector3 uvwerr(){return fposuvwerr;} TVector3 xyzerr(){return fposxyzerr;} double u(){return fposuvw.x();} double v(){return fposuvw.y();} double w(){return fposuvw.z();} double x(){return fposxyz.x();} double y(){return fposxyz.y();} double z(){return fposxyz.z();} double uerr(){return fposuvwerr.x();} double verr(){return fposuvwerr.y();} double werr(){return fposuvwerr.z();} double xerr(){return fposxyzerr.x();} double yerr(){return fposxyzerr.y();} double zerr(){return fposxyzerr.z();} private: // Private Data Members ------------ TVector3 fposuvw;//in detector coordinates TVector3 fposuvwerr; TVector3 fposxyz;//in test bench coordinates TVector3 fposxyzerr; TVector3 fuu; TVector3 fvv; TVector3 foo; double fpitch; double famp; int fdetid; TString fdetName; unsigned int fsize; TpcAlignmentManager * falman;//! // Private Methods ----------------- public: ClassDef(TBSICluster,1) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------