Changeset 1347 for trunk/source/event/include/G4SingleParticleSource.hh
- Timestamp:
- Dec 22, 2010, 3:52:27 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/event/include/G4SingleParticleSource.hh
r816 r1347 121 121 #include "G4SPSRandomGenerator.hh" 122 122 123 class G4SingleParticleSource : public G4VPrimaryGenerator 124 { 123 class G4SingleParticleSource: public G4VPrimaryGenerator { 125 124 public: 126 G4SingleParticleSource (); 127 ~G4SingleParticleSource (); 128 void GeneratePrimaryVertex(G4Event *evt); 129 // 130 G4SPSPosDistribution* GetPosDist() {return posGenerator;}; 131 G4SPSAngDistribution* GetAngDist() {return angGenerator;}; 132 G4SPSEneDistribution* GetEneDist() {return eneGenerator;}; 133 G4SPSRandomGenerator* GetBiasRndm() {return biasRndm;}; 134 135 // Set the verbosity level. 136 void SetVerbosity(G4int); 137 138 // Set the particle species 139 void SetParticleDefinition (G4ParticleDefinition * aParticleDefinition); 140 inline G4ParticleDefinition * GetParticleDefinition () { return particle_definition;} ; 141 142 inline void SetParticleCharge(G4double aCharge) { particle_charge = aCharge; } ; 143 144 // Set polarization 145 inline void SetParticlePolarization (G4ThreeVector aVal) {particle_polarization = aVal;}; 146 inline G4ThreeVector GetParticlePolarization () {return particle_polarization;}; 147 148 // Set Time. 149 inline void SetParticleTime(G4double aTime) { particle_time = aTime; }; 150 inline G4double GetParticleTime() { return particle_time; }; 151 152 inline void SetNumberOfParticles(G4int i) { NumberOfParticlesToBeGenerated = i; }; 153 // 154 inline G4int GetNumberOfParticles() { return NumberOfParticlesToBeGenerated; }; 155 inline G4ThreeVector GetParticlePosition() { return particle_position;}; 156 inline G4ThreeVector GetParticleMomentumDirection() { return particle_momentum_direction;}; 157 inline G4double GetParticleEnergy() {return particle_energy;}; 125 G4SingleParticleSource(); 126 ~G4SingleParticleSource(); 127 void GeneratePrimaryVertex(G4Event *evt); 128 // 129 G4SPSPosDistribution* GetPosDist() { 130 return posGenerator; 131 } 132 ; 133 G4SPSAngDistribution* GetAngDist() { 134 return angGenerator; 135 } 136 ; 137 G4SPSEneDistribution* GetEneDist() { 138 return eneGenerator; 139 } 140 ; 141 G4SPSRandomGenerator* GetBiasRndm() { 142 return biasRndm; 143 } 144 ; 145 146 // Set the verbosity level. 147 void SetVerbosity(G4int); 148 149 // Set the particle species 150 void SetParticleDefinition(G4ParticleDefinition * aParticleDefinition); 151 inline G4ParticleDefinition * GetParticleDefinition() { 152 return particle_definition; 153 } 154 ; 155 156 inline void SetParticleCharge(G4double aCharge) { 157 particle_charge = aCharge; 158 } 159 ; 160 161 // Set polarization 162 inline void SetParticlePolarization(G4ThreeVector aVal) { 163 particle_polarization = aVal; 164 } 165 ; 166 inline G4ThreeVector GetParticlePolarization() { 167 return particle_polarization; 168 } 169 ; 170 171 // Set Time. 172 inline void SetParticleTime(G4double aTime) { 173 particle_time = aTime; 174 } 175 ; 176 inline G4double GetParticleTime() { 177 return particle_time; 178 } 179 ; 180 181 inline void SetNumberOfParticles(G4int i) { 182 NumberOfParticlesToBeGenerated = i; 183 } 184 ; 185 // 186 inline G4int GetNumberOfParticles() { 187 return NumberOfParticlesToBeGenerated; 188 } 189 ; 190 inline G4ThreeVector GetParticlePosition() { 191 return particle_position; 192 } 193 ; 194 inline G4ThreeVector GetParticleMomentumDirection() { 195 return particle_momentum_direction; 196 } 197 ; 198 inline G4double GetParticleEnergy() { 199 return particle_energy; 200 } 201 ; 158 202 159 203 private: 160 204 161 162 163 164 165 166 167 G4intNumberOfParticlesToBeGenerated;168 169 G4ParticleMomentumparticle_momentum_direction;170 G4doubleparticle_energy;171 G4doubleparticle_charge;172 G4ThreeVectorparticle_position;173 G4doubleparticle_time;174 G4ThreeVectorparticle_polarization;175 G4doubleparticle_weight;176 177 178 205 G4SPSPosDistribution* posGenerator; 206 G4SPSAngDistribution* angGenerator; 207 G4SPSEneDistribution* eneGenerator; 208 G4SPSRandomGenerator* biasRndm; 209 // 210 // Other particle properties 211 G4int NumberOfParticlesToBeGenerated; 212 G4ParticleDefinition * particle_definition; 213 G4ParticleMomentum particle_momentum_direction; 214 G4double particle_energy; 215 G4double particle_charge; 216 G4ThreeVector particle_position; 217 G4double particle_time; 218 G4ThreeVector particle_polarization; 219 G4double particle_weight; 220 221 // Verbosity 222 G4int verbosityLevel; 179 223 180 224 }; 181 225 182 183 226 #endif 184 227 185 186 187
Note: See TracChangeset
for help on using the changeset viewer.