CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HelixBarrelPlaneCrossingByCircle.h
Go to the documentation of this file.
1 #ifndef HelixBarrelPlaneCrossingByCircle_H
2 #define HelixBarrelPlaneCrossingByCircle_H
3 
8 
13 class HelixBarrelPlaneCrossingByCircle GCC11_FINAL : public HelixPlaneCrossing {
14 public:
15 
16  HelixBarrelPlaneCrossingByCircle( const PositionType& pos,
17  const DirectionType& dir,
18  double rho,
20 
21  HelixBarrelPlaneCrossingByCircle( const GlobalPoint& pos,
22  const GlobalVector& dir,
23  double rho,
25 
26  virtual std::pair<bool,double> pathLength( const Plane&);
27 
28  virtual PositionType position( double s) const;
29 
30  virtual DirectionType direction( double s) const;
31 
32 private:
33 
35 
38  double theRho;
40 
41  double theCosTheta;
42  double theSinTheta;
43  double theXCenter;
44  double theYCenter;
45 
46  // caching of the solution for faster access
47  double theS;
49  double theDmag;
50 
51  // internal communication - not very clean
52  double theActualDir;
54 
55  void init();
56  bool chooseSolution( const Vector2D& d1, const Vector2D& d2);
57 
58 };
59 
60 #endif
virtual DirectionType direction(double s) const =0
Definition: DDAxes.h:10
int init
Definition: HydjetWrapper.h:63
PropagationDirection
Definition: Plane.h:17
Point3DBase< Scalar, GlobalTag > PositionType
Definition: Definitions.h:30
Basic2DVector< double > Vector2D
PropagationDirection thePropDir
virtual std::pair< bool, double > pathLength(const Plane &)=0
virtual PositionType position(double s) const =0
dbl *** dir
Definition: mlp_gen.cc:35
Unlimited (trivial) bounds.