Loading...
Searching...
No Matches
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//
27/// \file Par02PrimaryParticleInformation.hh
28/// \brief Definition of the Par02PrimaryParticleInformation class
29
30#ifndef PAR02_PRIMARY_PARTICLE_INFORMATION_H
31#define PAR02_PRIMARY_PARTICLE_INFORMATION_H
32
33#include "G4VUserPrimaryParticleInformation.hh"
34#include "G4ThreeVector.hh"
35#include "globals.hh"
36
37/// Primary particle information
38///
39/// Describes the information that can be associated with a G4PrimaryParticle
40/// class object.
41/// @author Anna Zaborowska
42
44 public:
45
46 /// A constructor.
47 /// @param aID A unique particle ID within event.
48 /// @param aPDG A PDG code of the particle.
49 /// @param aMomentum An initial particle momentum (at the primary vertex).
50 Par02PrimaryParticleInformation( G4int aID, G4int aPDG, G4ThreeVector aMomentum );
51
53
54 /// Prints the information about the particle.
55 virtual void Print() const;
56
57 /// Sets the initial particle momentum (from particle generator).
58 /// @param aMomentum The particle momentum.
59 inline void SetMCMomentum( G4ThreeVector aMomentum ) { fMomentumMC = aMomentum; };
60
61 /// Gets the initial particle momentum (from particle generator).
62 inline G4ThreeVector GetMCMomentum() { return fMomentumMC; };
63
64 /// Sets the particle momentum at the entrance to the tracker detector.
65 /// @param aMomentum The particle momentum.
66 inline void SetTrackerMomentum( G4ThreeVector aMomentum )
67 { fMomentumTracker = aMomentum; };
68
69 /// Gets the particle momentum at the entrance to the tracker detector.
70 inline G4ThreeVector GetTrackerMomentum() { return fMomentumTracker; }
71
72 /// Sets the tracker detector resolution.
73 /// Currently equal to -1 if AtlFast type of smearing is used.
74 /// @param aResolution The detector resolution
75 /// (particle type and momentum dependent).
76 inline void SetTrackerResolution( G4double aResolution )
77 { fResolutionTracker = aResolution; };
78
79 /// Gets the tracking detector resolution.
80 /// Currently equal to -1 if AtlFast type of smearing is used.
81 inline G4double GetTrackerResolution() { return fResolutionTracker; };
82
83 /// Sets the tracking detector efficiency.
84 /// Currently not used (efficiency is 1).
85 /// @param aEfficiency The detector efficiency.
86 inline void SetTrackerEfficiency( G4double aEfficiency )
87 { fEfficiencyTracker = aEfficiency; };
88
89 /// Gets the tracker detector efficiency.
90 /// Currently not used (efficiency is 1).
91 inline G4double GetTrackerEfficiency() { return fEfficiencyTracker; };
92
93 /// Sets the position of the energy deposit in the electromagnetic calorimeter.
94 /// @param aPosition The position of the energy deposit.
95 inline void SetEMCalPosition( G4ThreeVector aPosition )
96 { fPositionEMCal = aPosition; };
97
98 /// Gets the position of the energy deposit in the electromagnetic calorimeter.
99 inline G4ThreeVector GetEMCalPosition() { return fPositionEMCal; };
100
101 /// Sets the energy deposit in the electromagnetic calorimeter.
102 /// @param aEnergy The energy deposited in the detector.
103 inline void SetEMCalEnergy( G4double aEnergy ) { fEnergyEMCal = aEnergy; };
104
105 /// Sets the energy deposit in the electromagnetic calorimeter.
106 inline G4double GetEMCalEnergy() { return fEnergyEMCal; };
107
108 /// Sets the electromagnetic calorimeter resolution.
109 /// Currently equal to -1 if AtlFast type of smearing is used.
110 /// @param aResolution The calorimeter resolution
111 /// (particle type and momentum dependent).
112 inline void SetEMCalResolution( G4double aResolution )
113 { fResolutionEMCal = aResolution; };
114
115 /// Gets the electromagnetic calorimeter resolution.
116 /// Currently equal to -1 if AtlFast type of smearing is used.
117 inline G4double GetEMCalResolution() { return fResolutionEMCal; };
118
119 /// Sets the electromagnetic calorimeter efficiency.
120 /// Currently not used (efficiency is 1).
121 /// @param aEfficiency The detector efficiency.
122 inline void SetEMCalEfficiency( G4double aEfficiency )
123 { fEfficiencyEMCal = aEfficiency; };
124
125 /// Gets the electromagnetic calorimeter efficiency.
126 /// Currently not used (efficiency is 1).
127 inline G4double GetEMCalEfficiency() { return fEfficiencyEMCal; };
128
129 /// Sets the position of the energy deposit in the hadronic calorimeter.
130 /// @param aPosition The position of the energy deposit.
131 inline void SetHCalPosition( G4ThreeVector aPosition )
132 { fPositionHCal = aPosition; };
133
134 /// Gets the position of the energy deposit in the hadronic calorimeter.
135 inline G4ThreeVector GetHCalPosition() { return fPositionHCal; };
136
137 /// Sets the energy deposit in the hadronic calorimeter.
138 /// @param aEnergy The energy deposited in the detector.
139 inline void SetHCalEnergy( G4double aEnergy ) { fEnergyHCal = aEnergy; };
140
141 /// Sets the energy deposit in the hadronic calorimeter.
142 inline G4double GetHCalEnergy() { return fEnergyHCal; };
143
144 /// Sets the hadronic calorimeter resolution.
145 /// Currently equal to -1 if AtlFast type of smearing is used.
146 /// @param aResolution The calorimeter resolution
147 /// (particle type and momentum dependent).
148 inline void SetHCalResolution( G4double aResolution )
149 { fResolutionHCal = aResolution; };
150
151 /// Gets the hadronic calorimeter resolution.
152 /// Currently equal to -1 if AtlFast type of smearing is used.
153 inline G4double GetHCalResolution() { return fResolutionHCal; };
154
155 /// Sets the hadronic calorimeter efficiency.
156 /// Currently not used (efficiency is 1).
157 /// @param aEfficiency The detector efficiency.
158 inline void SetHCalEfficiency( G4double aEfficiency )
159 { fEfficiencyHCal = aEfficiency; };
160
161 /// Gets the hadronic calorimeter efficiency.
162 /// Currently not used (efficiency is 1).
163 inline G4double GetHCalEfficiency() { return fEfficiencyHCal; };
164
165 /// Gets the particle unique ID (within event). Can be set only in the constructor.
166 inline G4int GetPartID() const { return fPartID; };
167
168 /// Gets the standard PDG code. Can be set only in the constructor.
169 inline G4int GetPDG() const { return fPDG; };
170
171 private:
172
173 /// A particle unique ID.
174 G4int fPartID;
175
176 /// A particle type (PDG code).
177 G4int fPDG;
178
179 /// A particle initial momentum (from particle generator).
180 G4ThreeVector fMomentumMC;
181
182 /// A particle momentum at the entrance to the tracking detector.
183 G4ThreeVector fMomentumTracker;
184
185 /// A resolution of the tracking detector.
187
188 /// An efficiency of the tracking detector.
189 /// Currently not used (equal to 1).
191
192 /// A position of the energy deposited in the electromagnetic calorimeter.
193 G4ThreeVector fPositionEMCal;
194
195 /// An energy deposited in the electromagnetic calorimeter.
196 G4double fEnergyEMCal;
197
198 /// The resolution of the electromagnetic calorimeter.
200
201 /// The efficiency of the electromagnetic calorimeter.
202 /// Currently not used (equal to 1).
204
205 /// A position of the energy deposited in the hadronic calorimeter.
206 G4ThreeVector fPositionHCal;
207
208 /// An energy deposited in the hadronic calorimeter.
209 G4double fEnergyHCal;
210
211 /// The resolution of the hadronic calorimeter.
213
214 /// The efficiency of the hadronic calorimeter.
215 /// Currently not used (equal to 1).
217};
218
219#endif
220
G4double GetEMCalEfficiency()
Gets the electromagnetic calorimeter efficiency.
G4double fEnergyHCal
An energy deposited in the hadronic calorimeter.
void SetMCMomentum(G4ThreeVector aMomentum)
Sets the initial particle momentum (from particle generator).
void SetHCalPosition(G4ThreeVector aPosition)
Sets the position of the energy deposit in the hadronic calorimeter.
void SetEMCalPosition(G4ThreeVector aPosition)
Sets the position of the energy deposit in the electromagnetic calorimeter.
G4double GetEMCalEnergy()
Sets the energy deposit in the electromagnetic calorimeter.
G4double GetTrackerResolution()
Gets the tracking detector resolution.
void SetEMCalEnergy(G4double aEnergy)
Sets the energy deposit in the electromagnetic calorimeter.
G4ThreeVector GetMCMomentum()
Gets the initial particle momentum (from particle generator).
G4ThreeVector GetTrackerMomentum()
Gets the particle momentum at the entrance to the tracker detector.
G4ThreeVector fMomentumTracker
A particle momentum at the entrance to the tracking detector.
void SetTrackerEfficiency(G4double aEfficiency)
Sets the tracking detector efficiency.
void SetHCalEnergy(G4double aEnergy)
Sets the energy deposit in the hadronic calorimeter.
void SetTrackerMomentum(G4ThreeVector aMomentum)
Sets the particle momentum at the entrance to the tracker detector.
G4ThreeVector fPositionEMCal
A position of the energy deposited in the electromagnetic calorimeter.
G4ThreeVector GetEMCalPosition()
Gets the position of the energy deposit in the electromagnetic calorimeter.
G4ThreeVector fMomentumMC
A particle initial momentum (from particle generator).
G4double GetHCalEnergy()
Sets the energy deposit in the hadronic calorimeter.
void SetEMCalResolution(G4double aResolution)
Sets the electromagnetic calorimeter resolution.
G4double fEfficiencyHCal
The efficiency of the hadronic calorimeter.
G4double GetHCalResolution()
Gets the hadronic calorimeter resolution.
void SetHCalEfficiency(G4double aEfficiency)
Sets the hadronic calorimeter efficiency.
void SetTrackerResolution(G4double aResolution)
Sets the tracker detector resolution.
virtual void Print() const
Prints the information about the particle.
G4double GetTrackerEfficiency()
Gets the tracker detector efficiency.
G4double GetEMCalResolution()
Gets the electromagnetic calorimeter resolution.
G4double fResolutionHCal
The resolution of the hadronic calorimeter.
G4int GetPDG() const
Gets the standard PDG code. Can be set only in the constructor.
G4double fEfficiencyEMCal
The efficiency of the electromagnetic calorimeter.
G4double GetHCalEfficiency()
Gets the hadronic calorimeter efficiency.
G4double fEnergyEMCal
An energy deposited in the electromagnetic calorimeter.
G4double fEfficiencyTracker
An efficiency of the tracking detector.
G4double fResolutionEMCal
The resolution of the electromagnetic calorimeter.
G4int GetPartID() const
Gets the particle unique ID (within event). Can be set only in the constructor.
void SetHCalResolution(G4double aResolution)
Sets the hadronic calorimeter resolution.
G4ThreeVector GetHCalPosition()
Gets the position of the energy deposit in the hadronic calorimeter.
G4ThreeVector fPositionHCal
A position of the energy deposited in the hadronic calorimeter.
G4double fResolutionTracker
A resolution of the tracking detector.
void SetEMCalEfficiency(G4double aEfficiency)
Sets the electromagnetic calorimeter efficiency.

Applications | User Support | Publications | Collaboration