Import Geant4 9.4.0 source tree
This commit is contained in:
@@ -120,68 +120,108 @@
|
||||
#include "G4SPSEneDistribution.hh"
|
||||
#include "G4SPSRandomGenerator.hh"
|
||||
|
||||
class G4SingleParticleSource : public G4VPrimaryGenerator
|
||||
{
|
||||
class G4SingleParticleSource: public G4VPrimaryGenerator {
|
||||
public:
|
||||
G4SingleParticleSource ();
|
||||
~G4SingleParticleSource ();
|
||||
void GeneratePrimaryVertex(G4Event *evt);
|
||||
//
|
||||
G4SPSPosDistribution* GetPosDist() {return posGenerator;};
|
||||
G4SPSAngDistribution* GetAngDist() {return angGenerator;};
|
||||
G4SPSEneDistribution* GetEneDist() {return eneGenerator;};
|
||||
G4SPSRandomGenerator* GetBiasRndm() {return biasRndm;};
|
||||
G4SingleParticleSource();
|
||||
~G4SingleParticleSource();
|
||||
void GeneratePrimaryVertex(G4Event *evt);
|
||||
//
|
||||
G4SPSPosDistribution* GetPosDist() {
|
||||
return posGenerator;
|
||||
}
|
||||
;
|
||||
G4SPSAngDistribution* GetAngDist() {
|
||||
return angGenerator;
|
||||
}
|
||||
;
|
||||
G4SPSEneDistribution* GetEneDist() {
|
||||
return eneGenerator;
|
||||
}
|
||||
;
|
||||
G4SPSRandomGenerator* GetBiasRndm() {
|
||||
return biasRndm;
|
||||
}
|
||||
;
|
||||
|
||||
// Set the verbosity level.
|
||||
void SetVerbosity(G4int);
|
||||
// Set the verbosity level.
|
||||
void SetVerbosity(G4int);
|
||||
|
||||
// Set the particle species
|
||||
void SetParticleDefinition (G4ParticleDefinition * aParticleDefinition);
|
||||
inline G4ParticleDefinition * GetParticleDefinition () { return particle_definition;} ;
|
||||
// Set the particle species
|
||||
void SetParticleDefinition(G4ParticleDefinition * aParticleDefinition);
|
||||
inline G4ParticleDefinition * GetParticleDefinition() {
|
||||
return particle_definition;
|
||||
}
|
||||
;
|
||||
|
||||
inline void SetParticleCharge(G4double aCharge) { particle_charge = aCharge; } ;
|
||||
inline void SetParticleCharge(G4double aCharge) {
|
||||
particle_charge = aCharge;
|
||||
}
|
||||
;
|
||||
|
||||
// Set polarization
|
||||
inline void SetParticlePolarization (G4ThreeVector aVal) {particle_polarization = aVal;};
|
||||
inline G4ThreeVector GetParticlePolarization () {return particle_polarization;};
|
||||
// Set polarization
|
||||
inline void SetParticlePolarization(G4ThreeVector aVal) {
|
||||
particle_polarization = aVal;
|
||||
}
|
||||
;
|
||||
inline G4ThreeVector GetParticlePolarization() {
|
||||
return particle_polarization;
|
||||
}
|
||||
;
|
||||
|
||||
// Set Time.
|
||||
inline void SetParticleTime(G4double aTime) { particle_time = aTime; };
|
||||
inline G4double GetParticleTime() { return particle_time; };
|
||||
// Set Time.
|
||||
inline void SetParticleTime(G4double aTime) {
|
||||
particle_time = aTime;
|
||||
}
|
||||
;
|
||||
inline G4double GetParticleTime() {
|
||||
return particle_time;
|
||||
}
|
||||
;
|
||||
|
||||
inline void SetNumberOfParticles(G4int i) { NumberOfParticlesToBeGenerated = i; };
|
||||
//
|
||||
inline G4int GetNumberOfParticles() { return NumberOfParticlesToBeGenerated; };
|
||||
inline G4ThreeVector GetParticlePosition() { return particle_position;};
|
||||
inline G4ThreeVector GetParticleMomentumDirection() { return particle_momentum_direction;};
|
||||
inline G4double GetParticleEnergy() {return particle_energy;};
|
||||
inline void SetNumberOfParticles(G4int i) {
|
||||
NumberOfParticlesToBeGenerated = i;
|
||||
}
|
||||
;
|
||||
//
|
||||
inline G4int GetNumberOfParticles() {
|
||||
return NumberOfParticlesToBeGenerated;
|
||||
}
|
||||
;
|
||||
inline G4ThreeVector GetParticlePosition() {
|
||||
return particle_position;
|
||||
}
|
||||
;
|
||||
inline G4ThreeVector GetParticleMomentumDirection() {
|
||||
return particle_momentum_direction;
|
||||
}
|
||||
;
|
||||
inline G4double GetParticleEnergy() {
|
||||
return particle_energy;
|
||||
}
|
||||
;
|
||||
|
||||
private:
|
||||
|
||||
G4SPSPosDistribution* posGenerator;
|
||||
G4SPSAngDistribution* angGenerator;
|
||||
G4SPSEneDistribution* eneGenerator;
|
||||
G4SPSRandomGenerator* biasRndm;
|
||||
//
|
||||
// Other particle properties
|
||||
G4int NumberOfParticlesToBeGenerated;
|
||||
G4ParticleDefinition * particle_definition;
|
||||
G4ParticleMomentum particle_momentum_direction;
|
||||
G4double particle_energy;
|
||||
G4double particle_charge;
|
||||
G4ThreeVector particle_position;
|
||||
G4double particle_time;
|
||||
G4ThreeVector particle_polarization;
|
||||
G4double particle_weight;
|
||||
G4SPSPosDistribution* posGenerator;
|
||||
G4SPSAngDistribution* angGenerator;
|
||||
G4SPSEneDistribution* eneGenerator;
|
||||
G4SPSRandomGenerator* biasRndm;
|
||||
//
|
||||
// Other particle properties
|
||||
G4int NumberOfParticlesToBeGenerated;
|
||||
G4ParticleDefinition * particle_definition;
|
||||
G4ParticleMomentum particle_momentum_direction;
|
||||
G4double particle_energy;
|
||||
G4double particle_charge;
|
||||
G4ThreeVector particle_position;
|
||||
G4double particle_time;
|
||||
G4ThreeVector particle_polarization;
|
||||
G4double particle_weight;
|
||||
|
||||
// Verbosity
|
||||
G4int verbosityLevel;
|
||||
// Verbosity
|
||||
G4int verbosityLevel;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user