CbmRoot
CbmL1MCPoint.h
Go to the documentation of this file.
1 /*
2  *====================================================================
3  *
4  * CBM Level 1 Reconstruction
5  *
6  * Authors: I.Kisel, S.Gorbunov
7  *
8  * e-mail : ikisel@kip.uni-heidelberg.de
9  *
10  *====================================================================
11  *
12  * L1 Monte Carlo information
13  *
14  *====================================================================
15  */
16 
17 #ifndef CbmL1MCPoint_H
18 #define CbmL1MCPoint_H
19 
20 #include <vector>
21 using std::vector;
22 
23 struct CbmL1MCPoint {
25  : x(0)
26  , y(0)
27  , z(0)
28  , px(0)
29  , py(0)
30  , pz(0)
31  , xIn(0)
32  , yIn(0)
33  , zIn(0)
34  , pxIn(0)
35  , pyIn(0)
36  , pzIn(0)
37  , xOut(0)
38  , yOut(0)
39  , zOut(0)
40  , pxOut(0)
41  , pyOut(0)
42  , pzOut(0)
43  , p(0)
44  , q(0)
45  , mass(0)
46  , time(0)
47  , pdg(0)
48  , ID(0)
49  , mother_ID(0)
50  , iStation(0)
51  , pointId(-1)
52  , file(-1)
53  , event(-1)
54  , hitIds() {}
55 
56  double x, y, z, px, py, pz;
57  double xIn, yIn, zIn, pxIn, pyIn, pzIn;
58  double xOut, yOut, zOut, pxOut, pyOut, pzOut;
59  double p, q, mass, time;
60  int pdg, ID, mother_ID;
61  int iStation;
62  int pointId;
63  int file;
64  int event;
65  static bool compareIDz(const CbmL1MCPoint& a, const CbmL1MCPoint& b) {
66  return (a.ID < b.ID) || ((a.ID == b.ID) && (a.z < b.z));
67  }
68 
69  static bool pcompareIDz(const CbmL1MCPoint* a, const CbmL1MCPoint* b) {
70  return (a->ID < b->ID) || ((a->ID == b->ID) && (a->z < b->z));
71  }
72 
73  vector<int> hitIds; // indices of CbmL1StsHits in L1->vStsHits array
74 };
75 
76 #endif
CbmL1MCPoint::q
double q
Definition: CbmL1MCPoint.h:59
CbmL1MCPoint::mass
double mass
Definition: CbmL1MCPoint.h:59
CbmL1MCPoint::x
double x
Definition: CbmL1MCPoint.h:56
CbmL1MCPoint
Definition: CbmL1MCPoint.h:23
CbmL1MCPoint::time
double time
Definition: CbmL1MCPoint.h:59
CbmL1MCPoint::y
double y
Definition: CbmL1MCPoint.h:56
CbmL1MCPoint::compareIDz
static bool compareIDz(const CbmL1MCPoint &a, const CbmL1MCPoint &b)
Definition: CbmL1MCPoint.h:65
CbmL1MCPoint::event
int event
Definition: CbmL1MCPoint.h:64
CbmL1MCPoint::pointId
int pointId
Definition: CbmL1MCPoint.h:62
CbmL1MCPoint::pcompareIDz
static bool pcompareIDz(const CbmL1MCPoint *a, const CbmL1MCPoint *b)
Definition: CbmL1MCPoint.h:69
CbmL1MCPoint::file
int file
Definition: CbmL1MCPoint.h:63
CbmL1MCPoint::pz
double pz
Definition: CbmL1MCPoint.h:56
CbmL1MCPoint::yIn
double yIn
Definition: CbmL1MCPoint.h:57
CbmL1MCPoint::iStation
int iStation
Definition: CbmL1MCPoint.h:61
CbmL1MCPoint::xOut
double xOut
Definition: CbmL1MCPoint.h:58
CbmL1MCPoint::p
double p
Definition: CbmL1MCPoint.h:59
CbmL1MCPoint::pyIn
double pyIn
Definition: CbmL1MCPoint.h:57
CbmL1MCPoint::hitIds
vector< int > hitIds
Definition: CbmL1MCPoint.h:73
CbmL1MCPoint::zIn
double zIn
Definition: CbmL1MCPoint.h:57
CbmL1MCPoint::pxOut
double pxOut
Definition: CbmL1MCPoint.h:58
CbmL1MCPoint::z
double z
Definition: CbmL1MCPoint.h:56
CbmL1MCPoint::ID
int ID
Definition: CbmL1MCPoint.h:60
CbmL1MCPoint::mother_ID
int mother_ID
Definition: CbmL1MCPoint.h:60
CbmL1MCPoint::pyOut
double pyOut
Definition: CbmL1MCPoint.h:58
CbmL1MCPoint::pzOut
double pzOut
Definition: CbmL1MCPoint.h:58
CbmL1MCPoint::px
double px
Definition: CbmL1MCPoint.h:56
CbmL1MCPoint::pdg
int pdg
Definition: CbmL1MCPoint.h:60
CbmL1MCPoint::yOut
double yOut
Definition: CbmL1MCPoint.h:58
CbmL1MCPoint::pxIn
double pxIn
Definition: CbmL1MCPoint.h:57
CbmL1MCPoint::CbmL1MCPoint
CbmL1MCPoint()
Definition: CbmL1MCPoint.h:24
CbmL1MCPoint::xIn
double xIn
Definition: CbmL1MCPoint.h:57
CbmL1MCPoint::py
double py
Definition: CbmL1MCPoint.h:56
CbmL1MCPoint::zOut
double zOut
Definition: CbmL1MCPoint.h:58
CbmL1MCPoint::pzIn
double pzIn
Definition: CbmL1MCPoint.h:57