//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // a cluster in the tpc // // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // // //----------------------------------------------------------- #ifndef TPCCLUSTER_HH #define TPCCLUSTER_HH // Base Class Headers ---------------- #include "TObject.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op #include #include "TVector3.h" #include "McIdCollection.h" #include "TMatrixD.h" // Collaborating Class Declarations -- class PndTpcCluster : public TObject{ public: // Constructors/Destructors --------- PndTpcCluster(); PndTpcCluster(const TVector3& pos, double amp, unsigned int index, unsigned int size=1); PndTpcCluster(const TVector3& pos, const TVector3& sig, double amp, unsigned int index, unsigned int size=1); virtual ~PndTpcCluster(); friend std::ostream& operator<< (std::ostream& s, const PndTpcCluster& me); // Accessors ----------------------- const TVector3& pos() const {return _pos;} const TVector3& sig() const {return _sig;} const TMatrixD& cov() const {return _cov;} double amp() const {return _amp;} unsigned int size() const {return _size;} unsigned int nPad() const {return _nPad;} unsigned int nPadX() const {return _nPadX;} unsigned int nPadY() const {return _nPadY;} unsigned int index() const {return _index;} const McIdCollection& mcId() const {return _mcid;} unsigned int nMcIds() const {return _mcid.nIDs();} double maxMcWeight() const {return _mcid.MaxRelWeight();} // Modifiers ----------------------- void SetMcId(const McIdCollection& m){_mcid=m;} void SetIndex(unsigned int id){_index=id;} void SetCov(const TMatrixD& cov){_cov=cov;} void nPad(unsigned int i) {_nPad=i;} void nPadX(unsigned int i) {_nPadX=i;} void nPadY(unsigned int i) {_nPadY=i;} // Operations ---------------------- private: // Private Data Members ------------ TVector3 _pos; TVector3 _sig; // errors TMatrixD _cov; // 2nd moment of cluster shape double _amp; unsigned int _size; unsigned int _nPad; unsigned int _nPadX; unsigned int _nPadY; unsigned int _index; McIdCollection _mcid; // Private Methods ----------------- public: ClassDef(PndTpcCluster,3) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------