DataFormats
JetReco
interface
TrackExtrapolation.h
Go to the documentation of this file.
1
#ifndef DataFormats_TrackReco_interface_TrackExtrapolation_h
2
#define DataFormats_TrackReco_interface_TrackExtrapolation_h
3
/* \class reco::TrackExtrapolation TrackExtrapolation.h DataFormats/TrackReco/interface/TrackExtrapolation.h
4
*
5
* This class represents the track state at several radii (specified by user in producer).
6
* It stores a TrackRef to the original track, as well as vectors of the positions and momenta
7
* of the track at the various radii.
8
*
9
* \author Salvatore Rappoccio, JHU
10
*
11
*
12
*/
13
14
#include "
DataFormats/TrackReco/interface/Track.h
"
15
#include "
DataFormats/TrackReco/interface/TrackFwd.h
"
16
#include "
DataFormats/Math/interface/Vector3D.h
"
17
#include "
DataFormats/Math/interface/Point3D.h
"
18
19
#include <vector>
20
21
namespace
reco
{
22
class
TrackExtrapolation
{
23
// Next two typedefs use double in ROOT 6 rather than Double32_t due to a bug in ROOT 5,
24
// which otherwise would make ROOT5 files unreadable in ROOT6. This does not increase
25
// the size on disk, because due to the bug, double was actually stored on disk in ROOT 5.
26
typedef
ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double> >
Point
;
27
typedef
ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double> >
Vector
;
28
29
public
:
30
TrackExtrapolation
() {}
31
TrackExtrapolation
(
reco::TrackRef
const
&
track
, std::vector<Point>
const
&
pos
, std::vector<Vector>
const
& mom)
32
:
track_
(
track
) {
33
pos_
.resize(
pos
.size());
34
copy
(
pos
.begin(),
pos
.end(),
pos_
.begin());
35
mom_
.resize(mom.size());
36
copy
(mom.begin(), mom.end(),
mom_
.begin());
37
}
38
39
~TrackExtrapolation
() {}
40
41
reco::TrackRef
const
&
track
()
const
{
return
track_
; }
42
std::vector<Point>
const
&
positions
()
const
{
return
pos_
; }
43
std::vector<Vector>
const
&
momenta
()
const
{
return
mom_
; }
44
45
protected
:
46
reco::TrackRef
track_
;
47
std::vector<Point>
pos_
;
48
std::vector<Vector>
mom_
;
49
};
50
}
// namespace reco
51
52
#endif
reco::TrackExtrapolation::track_
reco::TrackRef track_
Definition:
TrackExtrapolation.h:46
reco::TrackExtrapolation::Vector
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Vector
Definition:
TrackExtrapolation.h:27
reco::TrackExtrapolation::Point
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > Point
Definition:
TrackExtrapolation.h:26
edm::Ref< TrackCollection >
TrackFwd.h
reco::TrackExtrapolation::momenta
std::vector< Vector > const & momenta() const
Definition:
TrackExtrapolation.h:43
Point3D.h
reco::TrackExtrapolation::track
reco::TrackRef const & track() const
Definition:
TrackExtrapolation.h:41
reco::TrackExtrapolation::~TrackExtrapolation
~TrackExtrapolation()
Definition:
TrackExtrapolation.h:39
reco::TrackExtrapolation
Definition:
TrackExtrapolation.h:22
reco::TrackExtrapolation::TrackExtrapolation
TrackExtrapolation(reco::TrackRef const &track, std::vector< Point > const &pos, std::vector< Vector > const &mom)
Definition:
TrackExtrapolation.h:31
filterCSVwithJSON.copy
copy
Definition:
filterCSVwithJSON.py:36
pos
Definition:
PixelCalibBase.h:13
reco::TrackExtrapolation::TrackExtrapolation
TrackExtrapolation()
Definition:
TrackExtrapolation.h:30
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:46
reco::TrackExtrapolation::pos_
std::vector< Point > pos_
Definition:
TrackExtrapolation.h:47
Vector3D.h
Track.h
reco::TrackExtrapolation::mom_
std::vector< Vector > mom_
Definition:
TrackExtrapolation.h:48
reco::TrackExtrapolation::positions
std::vector< Point > const & positions() const
Definition:
TrackExtrapolation.h:42
Generated for CMSSW Reference Manual by
1.8.14