CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
18 
19 #include <vector>
20 
21 namespace reco {
23  typedef ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<Double32_t> > Point;
24  typedef ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<Double32_t> > Vector;
25  public:
26 
27 
30  std::vector<Point> const & pos,
31  std::vector<Vector> const & mom) :
32  track_(track)
33  {
34  pos_.resize( pos.size() );
35  copy( pos.begin(), pos.end(), pos_.begin() );
36  mom_.resize( mom.size() );
37  copy( mom.begin(), mom.end(), mom_.begin() );
38  }
39 
41 
42  reco::TrackRef const & track() const { return track_;}
43  std::vector<Point> const & positions() const { return pos_;}
44  std::vector<Vector> const & momenta() const { return mom_;}
45 
46  protected:
48  std::vector<Point> pos_;
49  std::vector<Vector> mom_;
50  };
51 }
52 
53 
54 #endif
std::vector< Vector > const & momenta() const
TrackExtrapolation(reco::TrackRef const &track, std::vector< Point > const &pos, std::vector< Vector > const &mom)
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< Double32_t > > Point
reco::TrackRef const & track() const
std::vector< Point > pos_
std::vector< Vector > mom_
std::vector< Point > const & positions() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< Double32_t > > Vector