Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
RE02PrimaryGeneratorAction Class Reference

User primary particle generator class. More...

#include <Doxymodules_runAndEvent.h>

Inheritance diagram for RE02PrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

 RE02PrimaryGeneratorAction ()
 
 ~RE02PrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *)
 

Private Attributes

G4double fSigmaPosition
 
G4ParticleGunfParticleGun
 

Detailed Description

User primary particle generator class.

Definition at line 58 of file Doxymodules_runAndEvent.h.

Constructor & Destructor Documentation

◆ RE02PrimaryGeneratorAction()

RE02PrimaryGeneratorAction::RE02PrimaryGeneratorAction ( )

Definition at line 44 of file RE02PrimaryGeneratorAction.cc.

47{
48 G4int n_particle = 1;
49 fParticleGun = new G4ParticleGun(n_particle);
50
51// default particle
52 G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
53 G4ParticleDefinition* particle = particleTable->FindParticle("proton");
54 fParticleGun->SetParticleDefinition(particle);
55 fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.0,0.0,1.));
56 fParticleGun->SetParticleEnergy(150.0*MeV);
57//
58// default beam position
59 G4double position = -200./2.*cm;
60//
61// Initial beam spot size in sigma.; This is not a part of ParticleGun.
62 fSigmaPosition = 10.* mm;
63
64//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
65//
66 fParticleGun->SetParticlePosition(G4ThreeVector(0.*cm, 0.*cm, position));
67}

◆ ~RE02PrimaryGeneratorAction()

RE02PrimaryGeneratorAction::~RE02PrimaryGeneratorAction ( )

Definition at line 71 of file RE02PrimaryGeneratorAction.cc.

72{
73 delete fParticleGun;
74}

Member Function Documentation

◆ GeneratePrimaries()

void RE02PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Definition at line 78 of file RE02PrimaryGeneratorAction.cc.

79{
80
81 G4ThreeVector position = fParticleGun->GetParticlePosition();
82 G4double dx = (G4UniformRand()-0.5)*fSigmaPosition;
83 G4double dy = (G4UniformRand()-0.5)*fSigmaPosition;
84 position.setX(dx);
85 position.setY(dy);
86 fParticleGun->SetParticlePosition(position);
87 fParticleGun->GeneratePrimaryVertex(anEvent);
88}

Member Data Documentation

◆ fSigmaPosition

G4double RE02PrimaryGeneratorAction::fSigmaPosition
private

Definition at line 60 of file RE02PrimaryGeneratorAction.hh.

◆ fParticleGun

G4ParticleGun* RE02PrimaryGeneratorAction::fParticleGun
private

Definition at line 61 of file RE02PrimaryGeneratorAction.hh.


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

Applications | User Support | Publications | Collaboration