Geant4  10.02.p03
RE02PrimaryGeneratorAction Class Reference

#include <RE02PrimaryGeneratorAction.hh>

Inheritance diagram for RE02PrimaryGeneratorAction:
Collaboration diagram for RE02PrimaryGeneratorAction:

Public Member Functions

 RE02PrimaryGeneratorAction ()
 
 ~RE02PrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *)
 
- Public Member Functions inherited from G4VUserPrimaryGeneratorAction
 G4VUserPrimaryGeneratorAction ()
 
virtual ~G4VUserPrimaryGeneratorAction ()
 

Private Attributes

G4double fSigmaPosition
 
G4ParticleGunfParticleGun
 

Detailed Description

User primary particle generator class

  • void GeneratePrimaries(G4Event*) an incident particle is proton with 150 MeV energy at the position (x,y,-100 cm) toward the (0,0,1) direction. The x and y positions are uniformly varied from -5 mm to 5 mm, respectively.

Definition at line 51 of file RE02PrimaryGeneratorAction.hh.

Constructor & Destructor Documentation

◆ RE02PrimaryGeneratorAction()

RE02PrimaryGeneratorAction::RE02PrimaryGeneratorAction ( )

Definition at line 45 of file RE02PrimaryGeneratorAction.cc.

47  fParticleGun(0)
48 {
49  G4int n_particle = 1;
50  fParticleGun = new G4ParticleGun(n_particle);
51 
52 // default particle
54  G4ParticleDefinition* particle = particleTable->FindParticle("proton");
58 //
59 // default beam position
60  G4double position = -200./2.*cm;
61 //
62 // Initial beam spot size in sigma.; This is not a part of ParticleGun.
63  fSigmaPosition = 10.* mm;
64 
65 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
66 //
68 }
static const double cm
Definition: G4SIunits.hh:118
static const double MeV
Definition: G4SIunits.hh:211
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
CLHEP::Hep3Vector G4ThreeVector
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
int G4int
Definition: G4Types.hh:78
void SetParticlePosition(G4ThreeVector aPosition)
void SetParticleEnergy(G4double aKineticEnergy)
static G4ParticleTable * GetParticleTable()
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
Here is the call graph for this function:

◆ ~RE02PrimaryGeneratorAction()

RE02PrimaryGeneratorAction::~RE02PrimaryGeneratorAction ( )

Definition at line 72 of file RE02PrimaryGeneratorAction.cc.

73 {
74  delete fParticleGun;
75 }

Member Function Documentation

◆ GeneratePrimaries()

void RE02PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 79 of file RE02PrimaryGeneratorAction.cc.

80 {
81 
85  position.setX(dx);
86  position.setY(dy);
89 }
G4ThreeVector GetParticlePosition()
void setY(double)
virtual void GeneratePrimaryVertex(G4Event *evt)
void setX(double)
void SetParticlePosition(G4ThreeVector aPosition)
#define G4UniformRand()
Definition: Randomize.hh:97
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:

Member Data Documentation

◆ fParticleGun

G4ParticleGun* RE02PrimaryGeneratorAction::fParticleGun
private

Definition at line 62 of file RE02PrimaryGeneratorAction.hh.

◆ fSigmaPosition

G4double RE02PrimaryGeneratorAction::fSigmaPosition
private

Definition at line 61 of file RE02PrimaryGeneratorAction.hh.


The documentation for this class was generated from the following files: