BOSS 6.6.4.p01
BESIII Offline Software System
Loading...
Searching...
No Matches
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
39{
40 public:
41
42 /// Constructor.
44
45 /// Destructor.
47
48 /// Get intersection of a line and a plane.
49 bool GetIntersectionLinePlane(const HepPoint3D pLine,
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
Definition: MucGeometron.h:20
HepGeom::Vector3D< double > HepVector3D
Definition: MucGeometron.h:23
HepGeom::Plane3D< double > HepPlane3D
Definition: MucGeometron.h:26
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.