CMS 3D CMS Logo

SimTrack.h
Go to the documentation of this file.
1 #ifndef SimTrack_H
2 #define SimTrack_H
3 
5 
6 class SimTrack : public CoreSimTrack {
7 public:
8  typedef CoreSimTrack Core;
9 
11  SimTrack();
12  SimTrack(int ipart, const math::XYZTLorentzVectorD& p);
13 
17  SimTrack(int ipart, const math::XYZTLorentzVectorD& p, int iv, int ig);
18 
19  SimTrack(int ipart,
21  int iv,
22  int ig,
23  const math::XYZVectorD& tkp,
24  const math::XYZTLorentzVectorD& tkm);
25 
27  SimTrack(const CoreSimTrack& t, int iv, int ig);
28 
30  int vertIndex() const { return ivert; }
31  bool noVertex() const { return ivert == -1; }
32 
34  int genpartIndex() const { return igenpart; }
35  bool noGenpart() const { return igenpart == -1; }
36 
38 
40 
41  inline void setTkPosition(const math::XYZVectorD& pos) { tkposition = pos; }
42 
43  inline void setTkMomentum(const math::XYZTLorentzVectorD& mom) { tkmomentum = mom; }
44 
45  inline void setVertexIndex(const int v) { ivert = v; }
46 
47 private:
48  int ivert;
49  int igenpart;
50 
53 };
54 
55 #include <iosfwd>
56 std::ostream& operator<<(std::ostream& o, const SimTrack& t);
57 
58 #endif
const math::XYZVectorD & trackerSurfacePosition() const
Definition: SimTrack.h:37
std::ostream & operator<<(std::ostream &o, const SimTrack &t)
Definition: SimTrack.cc:20
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
CoreSimTrack Core
Definition: SimTrack.h:8
SimTrack()
constructor
Definition: SimTrack.cc:3
bool noGenpart() const
Definition: SimTrack.h:35
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
int igenpart
Definition: SimTrack.h:49
int genpartIndex() const
index of the corresponding Generator particle in the Event container (-1 if no Genpart) ...
Definition: SimTrack.h:34
bool noVertex() const
Definition: SimTrack.h:31
void setVertexIndex(const int v)
Definition: SimTrack.h:45
int vertIndex() const
index of the vertex in the Event container (-1 if no vertex)
Definition: SimTrack.h:30
math::XYZTLorentzVectorD tkmomentum
Definition: SimTrack.h:52
const math::XYZTLorentzVectorD & trackerSurfaceMomentum() const
Definition: SimTrack.h:39
void setTkPosition(const math::XYZVectorD &pos)
Definition: SimTrack.h:41
int ivert
Definition: SimTrack.h:48
math::XYZVectorD tkposition
Definition: SimTrack.h:51
void setTkMomentum(const math::XYZTLorentzVectorD &mom)
Definition: SimTrack.h:43