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

XANATrackHit.h

Go to the documentation of this file.
00001 #ifndef XANATrackHit_h
00002 #define XANATrackHit_h
00003 
00011 #include <TObject.h>
00012 #include <TRef.h>
00013 #include <Rtypes.h>
00014 #include <CLHEP/Geometry/Point3D.h>
00015 #include <TRefArray.h>
00016 #include <vector>
00017 
00018 using namespace HepGeom;
00019 class XANATrack;
00020 class XANAElectronTrack;
00021 
00022 class XANATrackHit : public TObject {
00023 
00024 public:
00025 
00026   XANATrackHit();
00028   XANATrackHit( HepPoint3D hitPosition, HepPoint3D updatedPosition, HepVector3D updatedMomentum );
00029   virtual ~XANATrackHit();
00030 
00031   // data access methods
00032   HepPoint3D  getHitPosition()     const {return hitPosition_;}
00033   HepPoint3D  getUpdatedPosition() const {return updatedPosition_;}
00034   HepVector3D getUpdatedMomentum() const {return updatedMomentum_;}
00035   Bool_t getIsStereo() const {return isStereo_;}
00036   Bool_t getIsBarrel() const {return isBarrel_;}
00037   
00038   // set methods
00039   void setHitPosition(HepPoint3D hitPosition){hitPosition_= hitPosition;}
00040   void setUpdatedPosition(HepPoint3D updatedPosition){updatedPosition_= updatedPosition;}
00041   void setUpdatedMomentum(HepVector3D updatedMomentum){updatedMomentum_= updatedMomentum;}
00042   void setIsStereo(Bool_t isStereo){isStereo_= isStereo;}
00043   void setIsBarrel(Bool_t isBarrel){isBarrel_= isBarrel;}
00044 
00045   // relationships
00046   XANATrack * getTrack() const {return (XANATrack *)(track_.GetObject());}
00047   XANAElectronTrack * getEleTrack() const {return (XANAElectronTrack *)(eleTrack_.GetObject());}
00048   
00050   Bool_t IsUsed() const {return locked_;}
00051       
00052   void setTrack(XANATrack *tra);
00053   void setEleTrack(XANAElectronTrack *tra);
00054 
00055   Bool_t operator==(const XANATrackHit&) const;
00056   
00057 protected:
00058 
00059   HepPoint3D hitPosition_;
00060   HepPoint3D updatedPosition_;
00061   HepVector3D updatedMomentum_;
00062   
00064   Bool_t isStereo_;
00066   Bool_t isBarrel_;
00067   
00069   TRef track_; 
00071   TRef eleTrack_; 
00072 
00073 private:
00074 
00075   Bool_t locked_;
00076   void lock() {locked_ = true;}
00077   void unlock() { locked_ = false;}
00078       
00079   ClassDef(XANATrackHit,1)
00080 
00081 };
00082 
00083 #endif
00084 
00085 
00086 
00087 
00088 
00089 
00090 

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