Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Par02PrimaryParticleInformation.hh
Go to the documentation of this file.
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 // $Id: $
27 //
30 
31 #ifndef PAR02_PRIMARY_PARTICLE_INFORMATION_H
32 #define PAR02_PRIMARY_PARTICLE_INFORMATION_H
33 
35 #include "G4ThreeVector.hh"
36 #include "globals.hh"
37 
43 
45  public:
46 
52 
54 
56  virtual void Print() const;
57 
60  inline void SetMCMomentum( G4ThreeVector aMomentum ) { fMomentumMC = aMomentum; };
61 
63  inline G4ThreeVector GetMCMomentum() { return fMomentumMC; };
64 
67  inline void SetTrackerMomentum( G4ThreeVector aMomentum )
68  { fMomentumTracker = aMomentum; };
69 
71  inline G4ThreeVector GetTrackerMomentum() { return fMomentumTracker; }
72 
77  inline void SetTrackerResolution( G4double aResolution )
78  { fResolutionTracker = aResolution; };
79 
82  inline G4double GetTrackerResolution() { return fResolutionTracker; };
83 
87  inline void SetTrackerEfficiency( G4double aEfficiency )
88  { fEfficiencyTracker = aEfficiency; };
89 
92  inline G4double GetTrackerEfficiency() { return fEfficiencyTracker; };
93 
96  inline void SetEMCalPosition( G4ThreeVector aPosition )
97  { fPositionEMCal = aPosition; };
98 
100  inline G4ThreeVector GetEMCalPosition() { return fPositionEMCal; };
101 
104  inline void SetEMCalEnergy( G4double aEnergy ) { fEnergyEMCal = aEnergy; };
105 
107  inline G4double GetEMCalEnergy() { return fEnergyEMCal; };
108 
113  inline void SetEMCalResolution( G4double aResolution )
114  { fResolutionEMCal = aResolution; };
115 
118  inline G4double GetEMCalResolution() { return fResolutionEMCal; };
119 
123  inline void SetEMCalEfficiency( G4double aEfficiency )
124  { fEfficiencyEMCal = aEfficiency; };
125 
128  inline G4double GetEMCalEfficiency() { return fEfficiencyEMCal; };
129 
132  inline void SetHCalPosition( G4ThreeVector aPosition )
133  { fPositionHCal = aPosition; };
134 
136  inline G4ThreeVector GetHCalPosition() { return fPositionHCal; };
137 
140  inline void SetHCalEnergy( G4double aEnergy ) { fEnergyHCal = aEnergy; };
141 
143  inline G4double GetHCalEnergy() { return fEnergyHCal; };
144 
149  inline void SetHCalResolution( G4double aResolution )
150  { fResolutionHCal = aResolution; };
151 
154  inline G4double GetHCalResolution() { return fResolutionHCal; };
155 
159  inline void SetHCalEfficiency( G4double aEfficiency )
160  { fEfficiencyHCal = aEfficiency; };
161 
164  inline G4double GetHCalEfficiency() { return fEfficiencyHCal; };
165 
167  inline G4int GetPartID() const { return fPartID; };
168 
170  inline G4int GetPDG() const { return fPDG; };
171 
172  private:
173 
175  G4int fPartID;
176 
178  G4int fPDG;
179 
181  G4ThreeVector fMomentumMC;
182 
184  G4ThreeVector fMomentumTracker;
185 
187  G4double fResolutionTracker;
188 
191  G4double fEfficiencyTracker;
192 
194  G4ThreeVector fPositionEMCal;
195 
197  G4double fEnergyEMCal;
198 
200  G4double fResolutionEMCal;
201 
204  G4double fEfficiencyEMCal;
205 
207  G4ThreeVector fPositionHCal;
208 
210  G4double fEnergyHCal;
211 
213  G4double fResolutionHCal;
214 
217  G4double fEfficiencyHCal;
218 };
219 
220 #endif
221 
Par02PrimaryParticleInformation(G4int aID, G4int aPDG, G4ThreeVector aMomentum)
G4double GetHCalEnergy()
Sets the energy deposit in the hadronic calorimeter.
G4ThreeVector GetTrackerMomentum()
Gets the particle momentum at the entrance to the tracker detector.
void SetTrackerMomentum(G4ThreeVector aMomentum)
G4ThreeVector GetEMCalPosition()
Gets the position of the energy deposit in the electromagnetic calorimeter.
G4int GetPartID() const
Gets the particle unique ID (within event). Can be set only in the constructor.
int G4int
Definition: G4Types.hh:78
virtual void Print() const
Prints the information about the particle.
G4ThreeVector GetHCalPosition()
Gets the position of the energy deposit in the hadronic calorimeter.
G4int GetPDG() const
Gets the standard PDG code. Can be set only in the constructor.
G4ThreeVector GetMCMomentum()
Gets the initial particle momentum (from particle generator).
void SetEMCalPosition(G4ThreeVector aPosition)
G4double GetEMCalEnergy()
Sets the energy deposit in the electromagnetic calorimeter.
double G4double
Definition: G4Types.hh:76