00001 00005 /*************************************************************************** 00006 * 00007 * $Id: StTrackGeometry.h,v 2.11 2009/11/23 16:34:07 fisyak Exp $ 00008 * 00009 * Author: Thomas Ullrich, Sep 1999 00010 *************************************************************************** 00011 * 00012 * Description: 00013 * 00014 *************************************************************************** 00015 * 00016 * $Log: StTrackGeometry.h,v $ 00017 * Revision 2.11 2009/11/23 16:34:07 fisyak 00018 * Cleanup, remove dependence on dst tables, clean up software monitors 00019 * 00020 * Revision 2.10 2005/07/06 19:00:52 fisyak 00021 * Add include of StThreeVectorD.hh 00022 * 00023 * Revision 2.9 2004/07/15 16:36:26 ullrich 00024 * Removed all clone() declerations and definitions. Use StObject::clone() only. 00025 * 00026 * Revision 2.8 2003/10/30 20:07:32 perev 00027 * Check of quality added 00028 * 00029 * Revision 2.7 2003/04/09 17:59:39 genevb 00030 * Add setMomentum function 00031 * 00032 * Revision 2.6 2002/02/22 22:56:52 jeromel 00033 * Doxygen basic documentation in all header files. None of this is required 00034 * for QM production. 00035 * 00036 * Revision 2.5 2001/07/17 22:23:30 ullrich 00037 * Added helicity to track geometry. 00038 * 00039 * Revision 2.4 2001/04/05 04:00:45 ullrich 00040 * Replaced all (U)Long_t by (U)Int_t and all redundant ROOT typedefs. 00041 * 00042 * Revision 2.3 2001/03/24 03:35:00 perev 00043 * clone() -> clone() const 00044 * 00045 * Revision 2.2 1999/10/28 22:27:41 ullrich 00046 * Adapted new StArray version. First version to compile on Linux and Sun. 00047 * 00048 * Revision 2.1 1999/10/13 19:44:13 ullrich 00049 * Initial Revision 00050 * 00051 **************************************************************************/ 00052 #ifndef StTrackGeometry_hh 00053 #define StTrackGeometry_hh 00054 #include "StObject.h" 00055 #include "StEnumerations.h" 00056 #include "StPhysicalHelixD.hh" 00057 #include "StThreeVectorF.hh" 00058 00059 class StTrackGeometry : public StObject { 00060 public: 00061 StTrackGeometry(); 00062 // StTrackGeometry(const StTrackGeometry&); use default 00063 // StTrackGeometry & operator=(const StTrackGeometry&); use default 00064 virtual ~StTrackGeometry(); 00065 00066 virtual StTrackModel model() const = 0; 00067 virtual short charge() const = 0; 00068 virtual short helicity() const = 0; 00069 virtual double curvature() const = 0; 00070 virtual double psi() const = 0; 00071 virtual double dipAngle() const = 0; 00072 virtual const StThreeVectorF& origin() const = 0; 00073 virtual const StThreeVectorF& momentum() const = 0; 00074 virtual StPhysicalHelixD helix() const = 0; 00075 00076 virtual void setCharge(short) = 0; 00077 virtual void setHelicity(short) = 0; 00078 virtual void setCurvature(double) = 0; 00079 virtual void setPsi(double) = 0; 00080 virtual void setDipAngle(double) = 0; 00081 virtual void setOrigin(const StThreeVectorF&) = 0; 00082 virtual void setMomentum(const StThreeVectorF&) = 0; 00083 00084 virtual StTrackGeometry* copy() const = 0; // virtual constructor 00085 int bad() const; 00086 00087 ClassDef(StTrackGeometry,2) 00088 }; 00089 00090 #endif
1.5.9