ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Par02PrimaryParticleInformation.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Par02PrimaryParticleInformation.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
29 
30 #ifndef PAR02_PRIMARY_PARTICLE_INFORMATION_H
31 #define PAR02_PRIMARY_PARTICLE_INFORMATION_H
32 
34 #include "G4ThreeVector.hh"
35 #include "globals.hh"
36 
42 
44  public:
45 
51 
53 
55  virtual void Print() const;
56 
59  inline void SetMCMomentum( G4ThreeVector aMomentum ) { fMomentumMC = aMomentum; };
60 
62  inline G4ThreeVector GetMCMomentum() { return fMomentumMC; };
63 
66  inline void SetTrackerMomentum( G4ThreeVector aMomentum )
67  { fMomentumTracker = aMomentum; };
68 
71 
76  inline void SetTrackerResolution( G4double aResolution )
77  { fResolutionTracker = aResolution; };
78 
82 
86  inline void SetTrackerEfficiency( G4double aEfficiency )
87  { fEfficiencyTracker = aEfficiency; };
88 
92 
95  inline void SetEMCalPosition( G4ThreeVector aPosition )
96  { fPositionEMCal = aPosition; };
97 
100 
103  inline void SetEMCalEnergy( G4double aEnergy ) { fEnergyEMCal = aEnergy; };
104 
106  inline G4double GetEMCalEnergy() { return fEnergyEMCal; };
107 
112  inline void SetEMCalResolution( G4double aResolution )
113  { fResolutionEMCal = aResolution; };
114 
118 
122  inline void SetEMCalEfficiency( G4double aEfficiency )
123  { fEfficiencyEMCal = aEfficiency; };
124 
128 
131  inline void SetHCalPosition( G4ThreeVector aPosition )
132  { fPositionHCal = aPosition; };
133 
136 
139  inline void SetHCalEnergy( G4double aEnergy ) { fEnergyHCal = aEnergy; };
140 
142  inline G4double GetHCalEnergy() { return fEnergyHCal; };
143 
148  inline void SetHCalResolution( G4double aResolution )
149  { fResolutionHCal = aResolution; };
150 
154 
158  inline void SetHCalEfficiency( G4double aEfficiency )
159  { fEfficiencyHCal = aEfficiency; };
160 
164 
166  inline G4int GetPartID() const { return fPartID; };
167 
169  inline G4int GetPDG() const { return fPDG; };
170 
171  private:
172 
174  G4int fPartID;
175 
178 
181 
184 
187 
191 
194 
197 
200 
204 
207 
210 
213 
217 };
218 
219 #endif
220