TrackingTools
GeomPropagators
interface
HelixBarrelPlaneCrossingByCircle.h
Go to the documentation of this file.
1
#ifndef HelixBarrelPlaneCrossingByCircle_H
2
#define HelixBarrelPlaneCrossingByCircle_H
3
4
#include "
TrackingTools/GeomPropagators/interface/HelixPlaneCrossing.h
"
5
#include "
DataFormats/TrajectorySeed/interface/PropagationDirection.h
"
6
#include "
DataFormats/GeometryVector/interface/GlobalPoint.h
"
7
#include "
DataFormats/GeometryVector/interface/GlobalVector.h
"
8
13
class
HelixBarrelPlaneCrossingByCircle
final :
public
HelixPlaneCrossing
{
14
public
:
15
HelixBarrelPlaneCrossingByCircle
(
const
PositionType
&
pos
,
16
const
DirectionType
&
dir
,
17
double
rho
,
18
PropagationDirection
propDir =
alongMomentum
);
19
20
HelixBarrelPlaneCrossingByCircle
(
const
GlobalPoint
&
pos
,
21
const
GlobalVector
&
dir
,
22
double
rho
,
23
PropagationDirection
propDir =
alongMomentum
);
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
:
32
typedef
Basic2DVector<double>
Vector2D
;
33
34
PositionType
theStartingPos
;
35
DirectionType
theStartingDir
;
36
double
theRho
;
37
PropagationDirection
thePropDir
;
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
;
46
Vector2D
theD
;
47
double
theDmag
;
48
49
// internal communication - not very clean
50
double
theActualDir
;
51
bool
useStraightLine
;
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:84
HelixPlaneCrossing.h
DeadROC_duringRun.dir
dir
Definition:
DeadROC_duringRun.py:23
Generated for CMSSW Reference Manual by
1.8.16