Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
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
public
:
29
30
31
TrackExtrapolation
() {}
32
TrackExtrapolation
(
reco::TrackRef
const
&
track
,
33
std::vector<Point>
const
& pos,
34
std::vector<Vector>
const
& mom) :
35
track_
(track)
36
{
37
pos_
.resize( pos.size() );
38
copy
( pos.begin(), pos.end(),
pos_
.begin() );
39
mom_
.resize( mom.size() );
40
copy
( mom.begin(), mom.end(),
mom_
.begin() );
41
}
42
43
~TrackExtrapolation
() {}
44
45
reco::TrackRef
const
&
track
()
const
{
return
track_
;}
46
std::vector<Point>
const
&
positions
()
const
{
return
pos_
;}
47
std::vector<Vector>
const
&
momenta
()
const
{
return
mom_
;}
48
49
protected
:
50
reco::TrackRef
track_
;
51
std::vector<Point>
pos_
;
52
std::vector<Vector>
mom_
;
53
};
54
}
55
56
57
#endif
reco::TrackExtrapolation::momenta
std::vector< Vector > const & momenta() const
Definition:
TrackExtrapolation.h:47
reco::TrackExtrapolation::track_
reco::TrackRef track_
Definition:
TrackExtrapolation.h:50
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
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:106
Point3D.h
reco::TrackExtrapolation::~TrackExtrapolation
~TrackExtrapolation()
Definition:
TrackExtrapolation.h:43
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:32
filterCSVwithJSON.copy
tuple copy
Definition:
filterCSVwithJSON.py:35
reco::TrackExtrapolation::TrackExtrapolation
TrackExtrapolation()
Definition:
TrackExtrapolation.h:31
reco::TrackExtrapolation::track
reco::TrackRef const & track() const
Definition:
TrackExtrapolation.h:45
reco::TrackExtrapolation::pos_
std::vector< Point > pos_
Definition:
TrackExtrapolation.h:51
Vector3D.h
reco::TrackExtrapolation::mom_
std::vector< Vector > mom_
Definition:
TrackExtrapolation.h:52
reco::TrackExtrapolation::positions
std::vector< Point > const & positions() const
Definition:
TrackExtrapolation.h:46
Track.h
Generated for CMSSW Reference Manual by
1.8.5