ATLAS Offline Software
Loading...
Searching...
No Matches
GenParticle_p1.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// GenParticle_p1.h
8// Header file for class GenParticle_p1
9// Author: S.Binet<binet@cern.ch>
11#ifndef GENERATOROBJECTSTPCNV_GENPARTICLE_P1_H
12#define GENERATOROBJECTSTPCNV_GENPARTICLE_P1_H
13
14// STL includes
15#include <vector>
16#include <utility> //> for std::pair
17
18// Forward declaration
19class GenEventCnv_p1;
21
23{
24 // Make GenEventCnv_p1 our friend
25 friend class GenEventCnv_p1;
26 // Make the AthenaPoolCnv class our friend
28
30 // Public methods:
32 public:
33
37
40 GenParticle_p1( const double px, const double py, const double pz,
41 const double ene, const int pdgId,
42 const int status,
43 const std::size_t flowSize,
44 const double thetaPolarization,
45 const double phiPolarization,
46 const int prodVtx,
47 const int endVtx,
48 const int barcode );
49
51 // Const methods:
53
55 // Non-const methods:
57
59 // Protected data:
61 protected:
62
65 double m_px;
66
69 double m_py;
70
73 double m_pz;
74
77 double m_ene;
78
82
86
89 std::vector< std::pair<int, int> > m_flow;
90
93 //std::pair<double, double> m_polarization;
94
98
102
107
112
117};
118
122
124 m_px ( 0 ),
125 m_py ( 0 ),
126 m_pz ( 0 ),
127 m_ene ( 0 ),
128 m_pdgId ( 0 ),
129 m_status ( 0 ),
130 m_flow ( 0 ),
131 m_thetaPolarization ( 0. ),
132 m_phiPolarization ( 0. ),
133 m_prodVtx ( 0 ),
134 m_endVtx ( 0 ),
135 m_barcode ( 0 )
136{}
137
138inline GenParticle_p1::GenParticle_p1( const double px,
139 const double py,
140 const double pz,
141 const double ene,
142 const int pdgId,
143 const int status,
144 const std::size_t flowSize,
145 const double thetaPolarization,
146 const double phiPolarization,
147 const int prodVtx,
148 const int endVtx,
149 const int barcode ):
150 m_px ( px ),
151 m_py ( py ),
152 m_pz ( pz ),
153 m_ene ( ene ),
154 m_pdgId ( pdgId ),
155 m_status ( status ),
156 m_flow ( flowSize ),
157 m_thetaPolarization ( thetaPolarization ),
158 m_phiPolarization ( phiPolarization ),
159 m_prodVtx ( prodVtx ),
160 m_endVtx ( endVtx ),
161 m_barcode ( barcode )
162{}
163
164#endif //> GENERATOROBJECTSTPCNV_GENPARTICLE_P1_H
double m_phiPolarization
phi polarization
double m_px
x-component of the 4-momentum of this particle
int m_pdgId
identity of this particle, according to the Particle Data Group notation
friend class McEventCollectionCnv_p2
GenParticle_p1()
Default constructor:
double m_thetaPolarization
polarization
double m_py
y-component of the 4-momentum of this particle
int m_barcode
barcode of this particles (uniquely identifying this particle within a given GenEvent)
int m_status
Status of this particle, as defined for HEPEVT.
int m_endVtx
Barcode of the decay vertex of this particle.
double m_pz
z-component of the 4-momentum of this particle
friend class GenEventCnv_p1
int m_prodVtx
Barcode of the production vertex of this particle.
double m_ene
e-component of the 4-momentum of this particle
std::vector< std::pair< int, int > > m_flow
Flow for this particle.