Geant4  10.02.p03
ExExChPrimaryGeneratorAction Class Reference

#include <ExExChPrimaryGeneratorAction.hh>

Inheritance diagram for ExExChPrimaryGeneratorAction:
Collaboration diagram for ExExChPrimaryGeneratorAction:

Public Member Functions

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

Private Attributes

G4GeneralParticleSourcefParticleGun
 

Detailed Description

Definition at line 40 of file ExExChPrimaryGeneratorAction.hh.

Constructor & Destructor Documentation

◆ ExExChPrimaryGeneratorAction()

ExExChPrimaryGeneratorAction::ExExChPrimaryGeneratorAction ( )

Definition at line 39 of file ExExChPrimaryGeneratorAction.cc.

40 {
42 
44  GetParticleTable()->FindParticle("proton"));
45 
46  // Position distribution
47  G4SPSPosDistribution *vPosDist =
49  vPosDist->SetPosDisType("Beam");
50  vPosDist->SetPosDisShape("Circle");
51  vPosDist->SetCentreCoords(G4ThreeVector(0.,0.,(- 10.5) * CLHEP::meter));
52  vPosDist->SetBeamSigmaInR(0.0 * CLHEP::mm);
53 
54  // Angular distribution
55  G4SPSAngDistribution *vAngDist =
57  vAngDist->DefineAngRefAxes("angref1",G4ThreeVector(1.,0.,0));
58  vAngDist->DefineAngRefAxes("angref2",G4ThreeVector(0.,-1.,0));
59  vAngDist->SetAngDistType("beam2d");
60  vAngDist->SetBeamSigmaInAngX(13.36E-6 * CLHEP::rad);
61  vAngDist->SetBeamSigmaInAngY(11.25E-6 * CLHEP::rad);
62 
63  // Energy distribution
64  G4SPSEneDistribution *vEneDist =
66  vEneDist->SetEnergyDisType("Mono");
67  vEneDist->SetMonoEnergy(400. * CLHEP::GeV);
68 }
G4SPSPosDistribution * GetPosDist() const
CLHEP::Hep3Vector G4ThreeVector
static const double rad
void SetBeamSigmaInAngY(G4double)
G4SPSEneDistribution * GetEneDist() const
static const double GeV
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
void SetCentreCoords(G4ThreeVector)
G4SPSAngDistribution * GetAngDist() const
void DefineAngRefAxes(G4String, G4ThreeVector)
G4SingleParticleSource * GetCurrentSource() const
static const double meter
Definition: SystemOfUnits.h:69
static const double mm
Definition: SystemOfUnits.h:94
void SetBeamSigmaInAngX(G4double)
Here is the call graph for this function:

◆ ~ExExChPrimaryGeneratorAction()

ExExChPrimaryGeneratorAction::~ExExChPrimaryGeneratorAction ( )
virtual

Definition at line 72 of file ExExChPrimaryGeneratorAction.cc.

72  {
73  delete fParticleGun;
74 }

Member Function Documentation

◆ GeneratePrimaries()

void ExExChPrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 81 of file ExExChPrimaryGeneratorAction.cc.

81  {
83 }
Here is the call graph for this function:

Member Data Documentation

◆ fParticleGun

G4GeneralParticleSource* ExExChPrimaryGeneratorAction::fParticleGun
private

Definition at line 49 of file ExExChPrimaryGeneratorAction.hh.


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