BOSS 7.0.1
BESIII Offline Software System
Loading...
Searching...
No Matches
Muc/MucGeomSvc/MucGeomSvc-00-02-25/MucGeomSvc/MucGeometron.h
Go to the documentation of this file.
1//$id$
2//
3//$log$
4
5/*
6 * 2003/08/30 Zhengyun You Peking University
7 *
8 * 2004/09/09 Zhengyun You Peking University
9 * transplanted to Gaudi framework
10 */
11
12#ifndef MUC_GEOMETRON_H
13#define MUC_GEOMETRON_H
14
15#include <CLHEP/Vector/ThreeVector.h>
16#include <CLHEP/Geometry/Point3D.h>
17#include <CLHEP/Geometry/Plane3D.h>
18
19#ifndef ENABLE_BACKWARDS_COMPATIBILITY
21#endif
22#ifndef ENABLE_BACKWARDS_COMPATIBILITY
24#endif
25#ifndef ENABLE_BACKWARDS_COMPATIBILITY
26typedef HepGeom::Plane3D<double> HepPlane3D;
27#endif
28
29using namespace CLHEP;
30
31/**
32 * Class MucGeometron contains some geometry calculation for convenience.
33 *
34 * @author Zhengyun You \URL{mailto:[email protected]}
35 *
36 */
37
38class MucGeometron
39{
40 public:
41
42 /// Constructor.
44
45 /// Destructor.
47
48 /// Get intersection of a line and a plane.
50 const Hep3Vector vectLine,
51 const HepPlane3D plane,
53
55 const Hep3Vector vectLine,
56 const HepPoint3D pLineSigma,
57 const Hep3Vector vectLineSigma,
58 const HepPlane3D plane,
60 HepPoint3D& crossSigma);
61
62
63 bool GetIntersectionQuadPlaneLocal(const int part, //liangyt 2009.3.12
64 const int orient,
65 const float a, //y = a * x * x + b * x + c;
66 const float b,
67 const float c,
68 const HepPlane3D plane,
69 HepPoint3D& cross1,
70 HepPoint3D& cross2);
71
72
73 bool GetIntersectionQuadPlane(const HepPoint3D pLine, //liangyt 2007.4.9
74 const float vy,
75 const float y0,
76 const float a, //y = a * x * x + b * x + c;
77 const float b,
78 const float c,
79 const HepPlane3D plane,
80 HepPoint3D& cross1,
81 HepPoint3D& cross2);
82
83
84 private:
85
86};
87
88#endif /* MUC_GEOMETRON_H */
EvtVector3R cross(const EvtVector3R &p1, const EvtVector3R &p2)
Definition: EvtVector3R.cc:84
HepGeom::Point3D< double > HepPoint3D
HepGeom::Vector3D< double > HepVector3D
HepGeom::Plane3D< double > HepPlane3D
MucGeometron()
Constructor.
bool GetIntersectionQuadPlane(const HepPoint3D pLine, const float vy, const float y0, const float a, const float b, const float c, const HepPlane3D plane, HepPoint3D &cross1, HepPoint3D &cross2)
bool GetIntersectionLinePlane(const HepPoint3D pLine, const Hep3Vector vectLine, const HepPlane3D plane, HepPoint3D &cross)
Get intersection of a line and a plane.
bool GetIntersectionQuadPlaneLocal(const int part, const int orient, const float a, const float b, const float c, const HepPlane3D plane, HepPoint3D &cross1, HepPoint3D &cross2)
bool GetIntersectionLinePlaneWithSigma(const HepPoint3D pLine, const Hep3Vector vectLine, const HepPoint3D pLineSigma, const Hep3Vector vectLineSigma, const HepPlane3D plane, HepPoint3D &cross, HepPoint3D &crossSigma)
~MucGeometron()
Destructor.