Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
RecoTracker
TkSeedGenerator
interface
FastHelix.h
Go to the documentation of this file.
1
#ifndef TR_FastHelix_H_
2
#define TR_FastHelix_H_
3
4
#include "
DataFormats/GeometryVector/interface/GlobalPoint.h
"
5
#include "
TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h
"
6
#include "
RecoTracker/TkSeedGenerator/interface/FastCircle.h
"
7
#include "
FWCore/Framework/interface/EventSetup.h
"
8
#include "
FWCore/Framework/interface/ESHandle.h
"
9
#include "
MagneticField/Engine/interface/MagneticField.h
"
10
#include "
MagneticField/Records/interface/IdealMagneticFieldRecord.h
"
11
28
class
FastHelix
{
29
30
private
:
31
32
typedef
FreeTrajectoryState
FTS
;
33
34
public
:
35
36
37
//Original constructor (no basis vertex)
38
FastHelix
(
const
GlobalPoint
& outerHit,
39
const
GlobalPoint
& middleHit,
40
const
GlobalPoint
& aVertex,
41
const
edm::EventSetup
& iSetup) :
theOuterHit
(outerHit),
42
theMiddleHit
(middleHit),
43
theVertex
(aVertex),
44
theCircle
(outerHit,
45
middleHit,
46
aVertex) {
47
iSetup.
get
<
IdealMagneticFieldRecord
>().
get
(
pSetup
);
48
tesla0
=0.1*double(
pSetup
->nominalValue());
49
maxRho
=
maxPt
/(0.01 * 0.3*
tesla0
);
50
useBasisVertex
=
false
;
51
}
52
53
//New constructor (with basis vertex)
54
FastHelix
(
const
GlobalPoint
& outerHit,
55
const
GlobalPoint
& middleHit,
56
const
GlobalPoint
& aVertex,
57
const
edm::EventSetup
& iSetup,
58
const
GlobalPoint
& bVertex) :
theOuterHit
(outerHit),
59
theMiddleHit
(middleHit),
60
theVertex
(aVertex),
61
basisVertex
(bVertex),
62
theCircle
(outerHit,
63
middleHit,
64
aVertex) {
65
iSetup.
get
<
IdealMagneticFieldRecord
>().
get
(
pSetup
);
66
tesla0
=0.1*double(
pSetup
->nominalValue());
67
maxRho
=
maxPt
/(0.01 * 0.3*
tesla0
);
68
useBasisVertex
=
true
;
69
}
70
71
~FastHelix
() {}
72
73
bool
isValid
()
const
{
return
theCircle
.
isValid
();}
74
75
FTS
stateAtVertex
()
const
;
76
77
FTS
helixStateAtVertex
()
const
;
78
79
FTS
straightLineStateAtVertex
()
const
;
80
81
const
FastCircle
&
circle
()
const
{
return
theCircle
; }
82
83
private
:
84
85
static
constexpr
double
maxPt
= 10000;
// 10Tev
86
87
GlobalPoint
theOuterHit
;
88
GlobalPoint
theMiddleHit
;
89
GlobalPoint
theVertex
;
90
GlobalPoint
basisVertex
;
91
FastCircle
theCircle
;
92
edm::ESHandle<MagneticField>
pSetup
;
93
double
tesla0
;
94
double
maxRho
;
95
bool
useBasisVertex
;
96
};
97
98
#endif //TR_FastHelix_H_
99
FastHelix::theMiddleHit
GlobalPoint theMiddleHit
Definition:
FastHelix.h:88
FastHelix::stateAtVertex
FTS stateAtVertex() const
Definition:
FastHelix.cc:7
FastHelix::theVertex
GlobalPoint theVertex
Definition:
FastHelix.h:89
FastHelix::isValid
bool isValid() const
Definition:
FastHelix.h:73
FastHelix::helixStateAtVertex
FTS helixStateAtVertex() const
Definition:
FastHelix.cc:16
FastHelix::~FastHelix
~FastHelix()
Definition:
FastHelix.h:71
FastCircle
Definition:
FastCircle.h:33
EventSetup.h
FastHelix::basisVertex
GlobalPoint basisVertex
Definition:
FastHelix.h:90
IdealMagneticFieldRecord
Definition:
IdealMagneticFieldRecord.h:11
FastHelix
Definition:
FastHelix.h:28
FastHelix::circle
const FastCircle & circle() const
Definition:
FastHelix.h:81
FastHelix::theOuterHit
GlobalPoint theOuterHit
Definition:
FastHelix.h:87
FastCircle.h
FastHelix::theCircle
FastCircle theCircle
Definition:
FastHelix.h:91
MagneticField.h
FastCircle::isValid
bool isValid() const
Definition:
FastCircle.h:56
FreeTrajectoryState
Definition:
FreeTrajectoryState.h:31
edm::ESHandle< MagneticField >
ESHandle.h
edm::EventSetup
Definition:
EventSetup.h:44
FastHelix::FastHelix
FastHelix(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex, const edm::EventSetup &iSetup, const GlobalPoint &bVertex)
Definition:
FastHelix.h:54
FastHelix::FastHelix
FastHelix(const GlobalPoint &outerHit, const GlobalPoint &middleHit, const GlobalPoint &aVertex, const edm::EventSetup &iSetup)
Definition:
FastHelix.h:38
edm::EventSetup::get
const T & get() const
Definition:
EventSetup.h:55
FastHelix::FTS
FreeTrajectoryState FTS
Definition:
FastHelix.h:32
Point3DBase< float, GlobalTag >
FastHelix::maxRho
double maxRho
Definition:
FastHelix.h:94
FastHelix::maxPt
static constexpr double maxPt
Definition:
FastHelix.h:85
FastHelix::pSetup
edm::ESHandle< MagneticField > pSetup
Definition:
FastHelix.h:92
FastHelix::useBasisVertex
bool useBasisVertex
Definition:
FastHelix.h:95
FreeTrajectoryState.h
constexpr
#define constexpr
Definition:
GCC11Compatibility.h:29
IdealMagneticFieldRecord.h
FastHelix::tesla0
double tesla0
Definition:
FastHelix.h:93
GlobalPoint.h
FastHelix::straightLineStateAtVertex
FTS straightLineStateAtVertex() const
Definition:
FastHelix.cc:148
Generated for CMSSW Reference Manual by
1.8.5