/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Muc/MucGeomSvc/MucGeomSvc-00-02-25/MucGeomSvc/MucGeometron.h

Go to the documentation of this file.
00001 //$id$
00002 //
00003 //$log$
00004 
00005 /*
00006  *    2003/08/30   Zhengyun You     Peking University
00007  * 
00008  *    2004/09/09   Zhengyun You     Peking University
00009  *                 transplanted to Gaudi framework
00010  */
00011 
00012 #ifndef MUC_GEOMETRON_H
00013 #define MUC_GEOMETRON_H
00014 
00015 #include <CLHEP/Vector/ThreeVector.h>
00016 #include <CLHEP/Geometry/Point3D.h>
00017 #include <CLHEP/Geometry/Plane3D.h>
00018 
00019 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00020 typedef HepGeom::Point3D<double> HepPoint3D;
00021 #endif
00022 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00023 typedef HepGeom::Vector3D<double> HepVector3D;
00024 #endif
00025 #ifndef ENABLE_BACKWARDS_COMPATIBILITY
00026 typedef HepGeom::Plane3D<double> HepPlane3D;
00027 #endif
00028 
00029 using namespace CLHEP;
00030 
00038 class MucGeometron
00039 {
00040  public:
00041 
00043   MucGeometron();
00044 
00046   ~MucGeometron();
00047 
00049   bool GetIntersectionLinePlane(const HepPoint3D pLine,
00050                                 const Hep3Vector vectLine,
00051                                 const HepPlane3D plane,
00052                                 HepPoint3D& cross);
00053 
00054   bool GetIntersectionLinePlaneWithSigma(const HepPoint3D pLine,
00055       const Hep3Vector vectLine,
00056       const HepPoint3D pLineSigma,
00057       const Hep3Vector vectLineSigma,
00058       const HepPlane3D plane,
00059       HepPoint3D& cross,
00060       HepPoint3D& crossSigma);
00061 
00062 
00063   bool GetIntersectionQuadPlaneLocal(const int part,    //liangyt 2009.3.12
00064                                 const int orient,
00065                                 const float a,              //y = a * x * x + b * x + c;
00066                                 const float b,
00067                                 const float c,
00068                                 const HepPlane3D plane,
00069                                 HepPoint3D& cross1,
00070                                 HepPoint3D& cross2);
00071 
00072 
00073   bool GetIntersectionQuadPlane(const HepPoint3D pLine,    //liangyt 2007.4.9
00074                                 const float vy,
00075                                 const float y0,
00076                                 const float a,              //y = a * x * x + b * x + c;
00077                                 const float b,
00078                                 const float c,
00079                                 const HepPlane3D plane,    
00080                                 HepPoint3D& cross1,
00081                                 HepPoint3D& cross2);
00082 
00083   
00084  private:
00085 
00086 };
00087 
00088 #endif    /* MUC_GEOMETRON_H */

Generated on Tue Nov 29 23:12:57 2016 for BOSS_7.0.2 by  doxygen 1.4.7