10 #ifndef ActarSimPrimaryGeneratorAction_h 11 #define ActarSimPrimaryGeneratorAction_h 1 13 #include "G4VUserPrimaryGeneratorAction.hh" 14 #include "G4ThreeVector.hh" 15 #include "G4ParticleTable.hh" 16 #include "G4IonTable.hh" 17 #include "G4ParticleDefinition.hh" 19 #include "G4ParticleGun.hh" 20 #include "G4ParticleMomentum.hh" 168 randomThetaMin = min;
169 randomThetaMax = max;
178 randomVertexZPositionMin = min;
179 randomVertexZPositionMax = max;
203 { particleGun->SetParticleDefinition(aParticleDefinition);}
205 { particleGun->SetParticleMomentum(aMomentum);}
207 { particleGun->SetParticleMomentumDirection(aMomentumDirection); }
209 { particleGun->SetParticleEnergy(aKineticEnergy); incidentEnergy = aKineticEnergy;}
211 { particleGun->SetParticleCharge(aCharge); }
213 { particleGun->SetParticlePolarization(aVal); }
215 { particleGun->SetParticlePosition(aPos); }
217 { particleGun->SetParticleTime(aTime); }
219 { particleGun->SetNumberOfParticles(i); }
222 { beamMomentumDirection=aMomentumDirection; beamDirectionFlag=1;}
224 { beamPosition=aPos;}
227 {
return particleGun->GetParticleDefinition(); }
229 {
return particleGun->GetParticleMomentumDirection(); }
231 {
return particleGun->GetParticleEnergy(); }
233 {
return particleGun->GetParticleCharge(); }
235 {
return particleGun->GetParticlePolarization(); }
237 {
return particleGun->GetParticlePosition(); }
239 {
return particleGun->GetParticleTime(); }
241 {
return particleGun->GetNumberOfParticles(); }
void SetBeamMomentumDirection(G4ParticleMomentum aMomentumDirection)
G4double GetRandomThetaMin()
G4String randomThetaFlag
Flag for a random theta angle in CINE.
G4double massOfTarget
Mass of target ion.
G4double GetMassOfTarget()
void SetThetaLabAngle(G4double val)
void SetNumberOfParticles(G4int i)
G4String reactionFromCineFlag
Flag for a reaction calculated using Cine.
void SetReactionFromCineFlag(G4String val)
G4double exEnergyOfScattered
Energy of the scattered ion.
void SetRandomPhiAngleFlag(G4String val)
G4bool beamDirectionFlag
Flag for a beam direction defined by angles (0) or vector (1)
G4String reactionFromFileFlag
Flag for a reaction taken from a file.
G4double lengthParameter
Parameter coming from the geometry selection.
G4double exEnergyOfTarget
Energy of the target ion.
void SetAlphaSourceFlag(G4String val)
void SetParticleMomentum(G4ParticleMomentum aMomentum)
void SetIncidentIon(G4Ions *aIonDef)
void SetScatteredIon(G4Ions *aIonDef)
G4double GetRandomThetaMax()
G4double GetParticleCharge()
G4IonTable * ionTable
Pointer to the G4IonTable.
G4Ions * GetIncidentIon()
void SetUserPhiAngle(G4double val)
G4double thetaLabAngle
Polar angle in the laboratory system.
G4double GetIncidentEnergy()
void SetRandomThetaVal(G4double min, G4double max)
G4double incidentEnergy
Total incident ion energy.
G4ThreeVector GetVertexPosition()
void SetExEnergyOfScattered(G4double val)
void SetExEnergyOfProjectile(G4double val)
G4double randomThetaMax
Maximum random theta angle in CINE.
G4double GetParticleEnergy()
G4ThreeVector GetParticlePosition()
G4double randomPhiMin
Minimum random phi angle in CINE.
G4double GetThetaCMAngle()
G4String reactionFromEvGenFlag
Flag for a reaction taken from the tabulated Ev Generator.
G4String randomPhiFlag
Flag for a random phi angle in CINE.
void SetRecoilIonCharge(G4double aCharge)
G4double userPhiAngle
User phi angle.
G4double massOfProjectile
Mass of the projectile ion.
~ActarSimPrimaryGeneratorAction()
Simple destructor.
G4double GetMassOfRecoiled()
G4ParticleMomentum beamMomentumDirection
Beam (momentum) direction.
void SetBeamRadiusAtEntrance(G4double val)
void GeneratePrimaries(G4Event *anEvent)
G4double targetIonCharge
Charge of target ion.
G4double GetExEnergyOfRecoiled()
G4double randomThetaMin
Minimum random theta angle in CINE.
void SetVertexPosition(G4ThreeVector apos)
void SetReactionFromEvGenFlag(G4String val)
G4double randomVertexZPositionMax
Maximum value for the (random) Z position of the vertex.
void SetThetaCMAngle(G4double val)
void SetVertexZPosition(G4double val)
G4ThreeVector vertexPosition
Position of the vertex.
void SetRandomThetaFlag(G4String val)
void SetReactionFromKineFlag(G4String val)
G4ThreeVector beamPosition
Beam position at the entrance.
void SetIncidentEnergy(G4double val)
void SetParticleCharge(G4double aCharge)
G4ParticleGun * particleGun
Pointer to G4particleGun object initialized in constructor.
void SetParticleTime(G4double aTime)
G4double reactionQ
Reaction Q.
G4Ions * incidentIon
Pointer to incident ion.
G4double randomVertexZPositionMin
Minimum value for the (random) Z position of the vertex.
G4double GetMassOfScattered()
void SetParticlePosition(G4ThreeVector aPos)
G4double GetIncidentIonCharge()
G4double GetVertexZPosition()
G4double GetRecoilIonCharge()
void SetRandomPhiFlag(G4String val)
G4double exEnergyOfProjectile
Energy of the projectile ion.
G4double GetExEnergyOfTarget()
G4double massOfRecoiled
Mass of the recoil ion.
G4String reactionFromKineFlag
Flag for using KINE.
void SetExEnergyOfTarget(G4double val)
void SetTargetIon(G4Ions *aIonDef)
G4double GetExEnergyOfProjectile()
void SetEmittance(G4double val)
G4double userThetaAngle
User theta angle.
void SetRandomVertexZPositionFlag(G4String val)
void SetBeamPosition(G4ThreeVector aPos)
void SetRandomVertexZPositionVal(G4double min, G4double max)
void SetParticlePolarization(G4ThreeVector aVal)
void SetLabEnergy(G4double val)
G4ParticleTable * particleTable
Pointer to the G4ParticleTable.
void SetRealisticBeamFlag(G4String val)
G4Ions * GetScatteredIon()
G4String reactionFile
File definition for a reaction.
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
G4double GetThetaLabAngle()
G4ThreeVector GetParticlePolarization()
void SetReactionFromCrossSectionFlag(G4String val)
G4Ions * recoilIon
Pointer to recoil ion.
G4double thetaCMAngle
Center of mass polar angle.
G4double incidentIonCharge
Charge of incident ion.
void SetReactionFile(G4String val)
void SetMassOfScattered(G4double val)
void SetScatteredIonCharge(G4double aCharge)
ActarSimPrimaryGeneratorAction()
Constructor: init values are filled.
G4double massOfScattered
Mass of the scattered ion.
G4double GetUserThetaAngle()
G4double GetBeamRadiusAtEntrance()
G4double recoilIonCharge
Charge of recoil ion.
G4ParticleMomentum GetParticleMomentumDirection()
void SetMassOfRecoiled(G4double val)
G4double emittance
Beam emittance.
void SetReactionFromFileFlag(G4String val)
G4Ions * targetIon
Pointer to target ion.
ActarSimGasDetectorConstruction * gasDetector
Pointer to gas detector constructor, to get some geometrical info.
G4int GetNumberOfParticles()
G4String GetRandomVertexZPositionFlag()
G4String reactionFromCrossSectionFlag
Flag for a reaction taken from the Ev Generator+CINE.
G4double labEnergy
Laboratory energy.
void SetMassOfTarget(G4double val)
G4double exEnergyOfRecoiled
Energy of the recoil ion.
G4Ions * scatteredIon
Pointer to scattered ion.
G4String realisticBeamFlag
Flag for realistic beam interaction.
G4double GetUserPhiAngle()
G4double GetTargetIonCharge()
G4double GetExEnergyOfScattered()
void SetBeamInteractionFlag(G4String val)
G4double GetMassOfProjectile()
G4String alphaSourceFlag
Flag for a alpha source emitter.
void SetUserThetaAngle(G4double val)
void SetTargetIonCharge(G4double aCharge)
ActarSimPrimaryGeneratorMessenger * gunMessenger
Pointer to messenger.
void SetExEnergyOfRecoiled(G4double val)
G4double vertexZPosition
Value for the (random) Z position of the vertex.
G4String randomVertexZPositionFlag
Flag to control the (random) Z position of the vertex.
G4double GetParticleTime()
void SetReactionQ(G4double val)
G4double scatteredIonCharge
Charge of scattered ion.
void SetRandomPhiVal(G4double min, G4double max)
void SetMassOfProjectile(G4double val)
G4double GetScatteredIonCharge()
void SetIncidentIonCharge(G4double aCharge)
void SetParticleEnergy(G4double aKineticEnergy)
G4String randomPhiAngleFlag
Flag for a random phi angle.
G4double beamRadiusAtEntrance
Beam radius at the entrance point.
G4ParticleDefinition * GetParticleDefinition()
G4double randomPhiMax
Maximum random phi angle in CINE.
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
void SetRecoilIon(G4Ions *aIonDef)
G4String beamInteractionFlag
Flag for beam interaction mode.