Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
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
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::momenta
std::vector< Vector > const & momenta() const
Definition:
TrackExtrapolation.h:43
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
dt_dqm_sourceclient_common_cff.reco
tuple reco
Definition:
dt_dqm_sourceclient_common_cff.py:111
Point3D.h
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
tuple copy
Definition:
filterCSVwithJSON.py:36
reco::TrackExtrapolation::TrackExtrapolation
TrackExtrapolation()
Definition:
TrackExtrapolation.h:30
reco::TrackExtrapolation::track
reco::TrackRef const & track() const
Definition:
TrackExtrapolation.h:41
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.5