//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // TPC Vertex: // // // Environment: // Software developed for the GEM-TPC collaboration in the fopiroot // framework, deriving from fairroot // // Author List: // Sverre Doerheim TUM (original author) //----------------------------------------------------------- #ifndef TPCVERTEX_H #define TPCVERTEX_H #include #include #include class TVector3; class TpcVertex : public TObject { public: //constructor/destructor TpcVertex(); TpcVertex(TVector3 pos); TpcVertex(TVector3 pos, TMatrixT cov, double err=0); TpcVertex(TVector3 pos, TMatrixT cov, std::vector tracks, TString trackBranchName); TpcVertex(TVector3 pos, double err, std::vector tracks, TString trackBranchName); TpcVertex(TVector3 pos, TMatrixT cov, std::vector tracks, TString trackBranchName, unsigned int raveIndex, TString raveBranchName); ~TpcVertex(){;} //Getters unsigned int getNTracks(){return fTrackIds.size();} std::vector getTracks(){return fTrackIds;} TVector3 getPos(){return fpos;} TMatrixT getCov(){return fcov;} double getErr(){return fErr;} unsigned int getRaveIndex(){return fRaveIndex;} //Setters void setPos(TVector3 pos){fpos=pos;} void setCov(TMatrixT cov){fcov=cov;} void setErr(double err){fErr=err;} void setIndex(unsigned int caindex){findex=caindex;} void setTrackIds(std::vector trackIds,TString branchName); void setRaveIndex(unsigned int caindex, TString branchName); private: TVector3 fpos; TMatrixT fcov; double fErr; //Chi^2/ndf ord mean-deviation from poca TString fTrackBranchName; std::vector fTrackIds; //TClonesArray-indices unsigned int findex; //TClonesArray-index bool fHasRaveVtx; TString fRaveBranchName; unsigned int fRaveIndex;//TClonesArray-index public: ClassDef(TpcVertex,1) }; #endif // TPCVERTEX_H