//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // an xyz reco hit (z being considered as a free parameter) // hitCoord=(x,y)^T // s=z // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Sebastian Neubert TUM (original author) // Felix Boehmer TUM // //----------------------------------------------------------- #ifndef TPCSPHIT_HH #define TPCSPHIT_HH // Base Class Headers ---------------- //#include "GFRecoHitIfc.h" //#include "GFSpacepointHitPolicy.h" #include #include #include "RecoHits/GFAbsSpacepointHit.h" // Collaborating Class Headers ------- #include // remove if you do not need streaming op // Collaborating Class Declarations -- class FairMCPoint; class TpcCluster; //typedef GFRecoHitIfc SpacepointRecoHit; class TpcSPHit : public GFAbsSpacepointHit { public: // Constructors/Destructors --------- TpcSPHit(); TpcSPHit(double x, double y, double z, double sigx, double sigy, double sigz); TpcSPHit(const TVector3& pos, const TVector3& sig); TpcSPHit(FairMCPoint* point); //for testing purposes TpcSPHit(const TpcCluster* cluster, bool weightedPlaneConstruction=false, bool cutCov=false); TpcSPHit(const TpcSPHit* hit); //pseudo copy constructor to work with RecoHitFact. virtual ~TpcSPHit(); virtual GFAbsRecoHit* clone(); // Operations ---------------------- virtual const TMatrixD& getHMatrix(const GFAbsTrackRep* stateVector); double amp() const {return _amp;} int getClusterID() const {return _clusterID;} int getClusterBranchID() const {return _clusterBranchID;} TMatrixD getHitCov(){return fHitCovBackup;} void setClusterID(unsigned int clId) {_clusterID = clId;} void setClusterBranchID(int n) {_clusterBranchID = n;} void setHitCov(const TMatrixDSym&); void setHitCoord(const TVectorD&); void setUseParam(bool opt=true){_useParam=opt;} void getMeasurement(const GFAbsTrackRep* rep, const GFDetPlane& pl, const TVectorD& statePred, const TMatrixDSym& covPred, TVectorD& m, TMatrixDSym& V); TVector3 getPos(); private: // Private Data Members ------------ double _amp; int _clusterID; int _clusterBranchID; //use with FairRootManager::GetBranchName(int) bool _useParam; public: ClassDef(TpcSPHit,6) }; class PndTpcSPHit : public TpcSPHit { public: ClassDef(PndTpcSPHit,11) }; #endif //-------------------------------------------------------------- // $Log$ //--------------------------------------------------------------