Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

XANAVertex.h

Go to the documentation of this file.
00001 #ifndef XANAVertex_h
00002 #define XANAVertex_h
00003 
00010 class XANATrack;
00011 class XANATrackAtVertex;
00012 
00013 #include <CLHEP/Geometry/Point3D.h>
00014 #include <TObject.h>
00015 #include <TRefArray.h>
00016 #include <Rtypes.h>
00017 
00018 class XANAVertex : public TObject {
00019 
00020 public:
00021 
00022   XANAVertex();
00024   XANAVertex(HepPoint3D position, Float_t chi2, Float_t ndof, std::string algoName);
00025   
00026   virtual ~XANAVertex();
00027 
00028   // data access methods
00029   HepPoint3D getPosition() const {return position_;}
00030   Float_t getChi2() const {return chi2_;}
00031   Float_t getNormalizedChi2() const {return chi2_/ndof_;}
00032   Float_t getNdof() const {return ndof_;}
00033   HepVector3D getVectorialSum() const {return vectorialSum_;}
00034   std::string getAlgoName() const {return std::string(algoName_);}
00035   char *getCharAlgoName() const {return algoName_;}
00036   
00037   // set methods
00038   void setPosition(HepPoint3D position) {position_=position;}  
00039   void setChi2(Float_t chi2) {chi2_=chi2;}
00040   void setNdof(Float_t ndof) {ndof_=ndof;}
00041   void setAlgoName(std::string algoName) {sprintf(algoName_,algoName.c_str());}
00042   
00043   // relationships
00044   TRefArray * getTracks() const {return tracks_;}
00045 
00046   TRefArray * getTracksAtVertex() const {return tracksAtVertex_;}
00047 
00048   void addTrack(XANATrack *track); 
00049 
00050   void addTrackAtVertex(XANATrackAtVertex *track); 
00051 
00052   void clear();
00053   
00055   Bool_t IsUsed() const {return locked_;}
00056 
00057   Bool_t operator==(const XANAVertex&) const;
00058   
00059   // copy constructor
00060   XANAVertex(const XANAVertex &right);
00061   // operator=
00062   const XANAVertex &operator=(const XANAVertex &right);
00063 
00064 protected:
00065 
00067   HepPoint3D position_;
00069   HepVector3D vectorialSum_;
00071   Float_t chi2_;
00073   Float_t ndof_;
00074   // relation to tracks
00075   Short_t numberOfTracks_;
00076 
00077   TRefArray *tracks_;//
00078 
00079   Short_t numberOfTracksAtVertex_;
00080 
00081   TRefArray *tracksAtVertex_;//
00083 
00084   Int_t algoLen_;
00085   char *algoName_; //[algoLen_]
00086 
00087 private:
00088 
00089   static const Int_t strLen_;
00090   Bool_t locked_;
00091   void lock() {locked_ = true;}
00092   void unlock() { locked_ = false;}
00093 
00094   ClassDef(XANAVertex,1)
00095   
00096 };
00097 
00098 #endif
00099 
00100 
00101 
00102 
00103 
00104 
00105 

Generated on Tue May 10 10:01:25 2005 for XANADOO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002