/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkReco/TrkReco-00-08-59-patch4-slc6tag/TrkReco/TMDCWireHitMC.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // $Id: TMDCWireHitMC.h,v 1.6 2010/03/31 09:58:59 liucy Exp $
00003 //-----------------------------------------------------------------------------
00004 // Filename : TMDCWireHitMC.h
00005 // Section  : Tracking MDC
00006 // Owner    : Yoshi Iwasaki
00007 // Email    : yoshihito.iwasaki@kek.jp
00008 //-----------------------------------------------------------------------------
00009 // Description : A class to represent a MC wire hit in MDC.
00010 //               See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
00011 //-----------------------------------------------------------------------------
00012 
00013 #ifndef TMDCWireHitMC_FLAG_
00014 #define TMDCWireHitMC_FLAG_
00015 
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021 
00022 #include <string>
00023 
00024 #define HEP_SHORT_NAMES
00025 #include "CLHEP/Alist/AList.h"
00026 #include "CLHEP/Vector/ThreeVector.h"
00027 #ifndef CLHEP_POINT3D_H
00028 #include "CLHEP/Geometry/Point3D.h"
00029 #endif
00030 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00031     typedef HepGeom::Point3D<double> HepPoint3D;
00032 #endif
00033 #include "CLHEP/Geometry/Vector3D.h"
00034 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00035     typedef HepGeom::Vector3D<double> HepVector3D;
00036 #endif
00037 using namespace CLHEP;
00038 class TMDC;
00039 class TMDCWire;
00040 class TMDCWireHit;
00041 class TTrackHEP;
00042 //struct datcdc_mcwirhit;
00043 class MdcDat_mcwirhit;
00044 
00046 class TMDCWireHitMC {
00047 
00048   public:
00050     TMDCWireHitMC(const TMDCWire *, const TMDCWireHit *, MdcDat_mcwirhit *);
00051 
00053     virtual ~TMDCWireHitMC();
00054 
00055   public:// Selectors
00057     float distance(void) const;
00058 
00060     const HepPoint3D & hitPosition(void) const;
00061 
00063     const HepPoint3D & entrance(void) const;
00064 
00066     const HepVector3D & direction(void) const;
00067 
00069     const Hep3Vector & momentum(void) const;
00070 
00072     int leftRight(void) const;
00073 
00075     MdcDat_mcwirhit * datcdc(void) const;
00076 
00078     const TMDCWire * const wire(void) const;
00079 
00081     const TTrackHEP * const hep(void) const;
00082 
00084     const TMDCWireHit * const hit(void) const;
00085 
00086   public:// Modifiers
00087 
00088   private:
00089     const TMDCWire * _wire;
00090     const TMDCWireHit * _hit;
00091     HepPoint3D _position;
00092     HepPoint3D _entrance;
00093     HepVector3D _direction;
00094     Hep3Vector _momentum;
00095     float _distance;
00096     float _energy;
00097     int _leftRight;
00098     MdcDat_mcwirhit * _datcdc;
00099     const TTrackHEP * _hep;
00100 
00101   friend class TMDC;
00102 };
00103 
00104 //-----------------------------------------------------------------------------
00105 
00106 #ifdef TMDCWireHitMC_NO_INLINE
00107 #define inline
00108 #else
00109 #undef inline
00110 #define TMDCWireHitMC_INLINE_DEFINE_HERE
00111 #endif
00112 
00113 #ifdef TMDCWireHitMC_INLINE_DEFINE_HERE
00114 
00115 inline
00116 float
00117 TMDCWireHitMC::distance(void) const {
00118     return _distance;
00119 }
00120 
00121 inline
00122 const HepPoint3D &
00123 TMDCWireHitMC::hitPosition(void) const {
00124     return _position;
00125 }
00126 
00127 inline
00128 const HepPoint3D &
00129 TMDCWireHitMC::entrance(void) const {
00130     return _entrance;
00131 }
00132 
00133 inline
00134 const HepVector3D &
00135 TMDCWireHitMC::direction(void) const {
00136     return _direction;
00137 }
00138 
00139 inline
00140 int
00141 TMDCWireHitMC::leftRight(void) const {
00142     return _leftRight;
00143 }
00144 
00145 inline
00146 MdcDat_mcwirhit *
00147 TMDCWireHitMC::datcdc(void) const {
00148     return _datcdc;
00149 }
00150 
00151 inline
00152 const TMDCWire * const
00153 TMDCWireHitMC::wire(void) const {
00154     return _wire;
00155 }
00156 
00157 inline
00158 const TTrackHEP * const
00159 TMDCWireHitMC::hep(void) const {
00160     return _hep;
00161 }
00162 
00163 inline
00164 const TMDCWireHit * const 
00165 TMDCWireHitMC::hit(void) const {
00166     return _hit;
00167 }
00168 
00169 inline
00170 const Hep3Vector &
00171 TMDCWireHitMC::momentum(void) const {
00172     return _momentum;
00173 }
00174 
00175 #endif
00176 
00177 #undef inline
00178 
00179 #endif /* TMDCWireHitMC_FLAG_ */

Generated on Tue Nov 29 23:14:17 2016 for BOSS_7.0.2 by  doxygen 1.4.7