CMS 3D CMS Logo

HelixBarrelPlaneCrossingByCircle.h
Go to the documentation of this file.
1 #ifndef HelixBarrelPlaneCrossingByCircle_H
2 #define HelixBarrelPlaneCrossingByCircle_H
3 
8 
14 public:
16  const DirectionType& dir,
17  double rho,
19 
21  const GlobalVector& dir,
22  double rho,
24 
25  std::pair<bool, double> pathLength(const Plane&) override;
26 
27  PositionType position(double s) const override;
28 
29  DirectionType direction(double s) const override;
30 
31 private:
33 
36  double theRho;
38 
39  double theCosTheta;
40  double theSinTheta;
41  double theXCenter;
42  double theYCenter;
43 
44  // caching of the solution for faster access
45  double theS;
47  double theDmag;
48 
49  // internal communication - not very clean
50  double theActualDir;
52 
53  void init();
54  bool chooseSolution(const Vector2D& d1, const Vector2D& d2);
55 };
56 
57 #endif
Vector3DBase
Definition: Vector3DBase.h:8
HelixBarrelPlaneCrossingByCircle::Vector2D
Basic2DVector< double > Vector2D
Definition: HelixBarrelPlaneCrossingByCircle.h:32
pos
Definition: PixelAliasList.h:18
HelixBarrelPlaneCrossingByCircle::theRho
double theRho
Definition: HelixBarrelPlaneCrossingByCircle.h:36
HelixBarrelPlaneCrossingByCircle::pathLength
std::pair< bool, double > pathLength(const Plane &) override
Definition: HelixBarrelPlaneCrossingByCircle.cc:47
alignCSCRings.s
s
Definition: alignCSCRings.py:92
HelixBarrelPlaneCrossingByCircle::init
void init()
Definition: HelixBarrelPlaneCrossingByCircle.cc:26
Point3DBase< float, GlobalTag >
HelixBarrelPlaneCrossingByCircle::useStraightLine
bool useStraightLine
Definition: HelixBarrelPlaneCrossingByCircle.h:51
DDAxes::rho
Basic2DVector< double >
HelixBarrelPlaneCrossingByCircle::direction
DirectionType direction(double s) const override
Definition: HelixBarrelPlaneCrossingByCircle.cc:168
HelixBarrelPlaneCrossingByCircle::theStartingDir
DirectionType theStartingDir
Definition: HelixBarrelPlaneCrossingByCircle.h:35
HelixBarrelPlaneCrossingByCircle
Definition: HelixBarrelPlaneCrossingByCircle.h:13
HelixBarrelPlaneCrossingByCircle::theXCenter
double theXCenter
Definition: HelixBarrelPlaneCrossingByCircle.h:41
HelixBarrelPlaneCrossingByCircle::theStartingPos
PositionType theStartingPos
Definition: HelixBarrelPlaneCrossingByCircle.h:34
HelixBarrelPlaneCrossingByCircle::HelixBarrelPlaneCrossingByCircle
HelixBarrelPlaneCrossingByCircle(const PositionType &pos, const DirectionType &dir, double rho, PropagationDirection propDir=alongMomentum)
Definition: HelixBarrelPlaneCrossingByCircle.cc:10
HelixBarrelPlaneCrossingByCircle::theD
Vector2D theD
Definition: HelixBarrelPlaneCrossingByCircle.h:46
PropagationDirection.h
HelixBarrelPlaneCrossingByCircle::theSinTheta
double theSinTheta
Definition: HelixBarrelPlaneCrossingByCircle.h:40
HelixPlaneCrossing
Definition: HelixPlaneCrossing.h:13
HelixBarrelPlaneCrossingByCircle::position
PositionType position(double s) const override
Definition: HelixBarrelPlaneCrossingByCircle.cc:149
HelixBarrelPlaneCrossingByCircle::theDmag
double theDmag
Definition: HelixBarrelPlaneCrossingByCircle.h:47
HelixBarrelPlaneCrossingByCircle::chooseSolution
bool chooseSolution(const Vector2D &d1, const Vector2D &d2)
Definition: HelixBarrelPlaneCrossingByCircle.cc:116
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
Plane
Definition: Plane.h:16
HelixBarrelPlaneCrossingByCircle::theYCenter
double theYCenter
Definition: HelixBarrelPlaneCrossingByCircle.h:42
GlobalVector.h
HelixBarrelPlaneCrossingByCircle::theActualDir
double theActualDir
Definition: HelixBarrelPlaneCrossingByCircle.h:50
HelixBarrelPlaneCrossingByCircle::thePropDir
PropagationDirection thePropDir
Definition: HelixBarrelPlaneCrossingByCircle.h:37
HelixBarrelPlaneCrossingByCircle::theS
double theS
Definition: HelixBarrelPlaneCrossingByCircle.h:45
HelixBarrelPlaneCrossingByCircle::theCosTheta
double theCosTheta
Definition: HelixBarrelPlaneCrossingByCircle.h:39
GlobalPoint.h
alongMomentum
Definition: PropagationDirection.h:4
Basic3DVector< float >
d1
static constexpr float d1
Definition: L1EGammaCrystalsEmulatorProducer.cc:85
HelixPlaneCrossing.h
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23