Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
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