45 #include "PrimaryGeneratorAction.hh"
46 #include "DetectorConstruction.hh"
47 #include "PrimaryGeneratorMessenger.hh"
67 void PrimaryGeneratorAction::InitializeMe()
80 fRMax2 = 2.5*2.5*
mm*
mm;
115 }
while (x*x + y*y > fRMax2);
126 if(1.0 > fMinCosTheta) {
128 ux = std::sqrt((1.0 - uz)*(1.0 + uz)) ;
129 }
else if (fSigmaTheta > 0.0) {
131 uz = std::sqrt((1.0 - ux)*(1.0 + ux));
136 ux *= std::cos(phi) ;
137 uy *= std::sin(phi) ;
145 if(fGauss ==
"flatE") {
147 }
else if(0.0 < fSigmaE) {
155 G4cout <<
"Event# " << fCounter
156 <<
" Beam particle is generated by PrimaryGeneratorAction "
158 G4cout <<
"ParticleName= " << particleName
160 << std::setprecision(5)
161 <<
" KinEnergy(GeV)= "
ThreeVector shoot(const G4int Ap, const G4int Af)
static Histo * GetPointer()
CLHEP::Hep3Vector G4ThreeVector
G4int GetPDGEncoding() const
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
virtual void GeneratePrimaryVertex(G4Event *evt)
const G4String & GetParticleName() const
G4double GetGeneratorPosZ() const
void SetParticlePosition(G4ThreeVector aPosition)
G4GLOB_DLL std::ostream G4cout
void GeneratePrimaries(G4Event *)
void SetParticleEnergy(G4double aKineticEnergy)
G4ParticleDefinition * GetParticleDefinition() const
void SetBeamEnergy(G4double val)
~PrimaryGeneratorAction()