Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PurgMagPrimaryGeneratorAction Class Reference

#include <PurgMagPrimaryGeneratorAction.hh>

Inheritance diagram for PurgMagPrimaryGeneratorAction:
Collaboration diagram for PurgMagPrimaryGeneratorAction:

Public Member Functions

 PurgMagPrimaryGeneratorAction ()
 
 ~PurgMagPrimaryGeneratorAction ()
 
void GeneratePrimaries (G4Event *)
 
void SetRndmVertex (G4bool val)
 
- Public Member Functions inherited from G4VUserPrimaryGeneratorAction
 G4VUserPrimaryGeneratorAction ()
 
virtual ~G4VUserPrimaryGeneratorAction ()
 

Detailed Description

Definition at line 52 of file PurgMagPrimaryGeneratorAction.hh.

Constructor & Destructor Documentation

PurgMagPrimaryGeneratorAction::PurgMagPrimaryGeneratorAction ( )

Definition at line 58 of file PurgMagPrimaryGeneratorAction.cc.

59  :rndmVertex(false)
60 {
61  //default kinematic
62  G4int n_particle = 1;
63  particleGun = new G4ParticleGun(n_particle);
64 
65  G4ParticleDefinition* particle
67 
68  particleGun->SetParticleDefinition(particle);
69  particleGun->SetParticleEnergy(50.*MeV);
70 
71  //Momentum Direction
72  particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,-1.));
73 
74 }
CLHEP::Hep3Vector G4ThreeVector
static G4Electron * Definition()
Definition: G4Electron.cc:49
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
int G4int
Definition: G4Types.hh:78
void SetParticleEnergy(G4double aKineticEnergy)
static constexpr double MeV
Definition: G4SIunits.hh:214
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)

Here is the call graph for this function:

PurgMagPrimaryGeneratorAction::~PurgMagPrimaryGeneratorAction ( )

Definition at line 78 of file PurgMagPrimaryGeneratorAction.cc.

79 {
80  delete particleGun;
81  }

Member Function Documentation

void PurgMagPrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 85 of file PurgMagPrimaryGeneratorAction.cc.

86 {
87  //this function is called at the begining of event
88  //Start position of primaries
89  G4double z0 = 15.*cm;
90  G4double x0 = 0.*cm;
91  G4double y0 = 0.*cm;
92  particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0));
93  particleGun->GeneratePrimaryVertex(anEvent);
94 
95 #if POSITION
96  G4cout << "\n----Particle Gun--------------------------------------------\n";
97  G4cout << "\n ---> SetParticlePosition(G4ThreeVector(x0,y0,z0)) ";
98  G4cout << "\n ---> x0 = " << x0 << " "<< G4BestUnit(x0,"Length");
99  G4cout << "\n ---> y0 = " << y0 << " "<< G4BestUnit(y0,"Length");
100  G4cout << "\n ---> z0 = " << z0 << " "<< G4BestUnit(z0,"Length");
101  G4cout << "\n-----------------------------------------------------------\n";
102 #endif
103 }
CLHEP::Hep3Vector G4ThreeVector
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
virtual void GeneratePrimaryVertex(G4Event *evt)
void SetParticlePosition(G4ThreeVector aPosition)
G4GLOB_DLL std::ostream G4cout
static constexpr double cm
Definition: G4SIunits.hh:119
double G4double
Definition: G4Types.hh:76

Here is the call graph for this function:

void PurgMagPrimaryGeneratorAction::SetRndmVertex ( G4bool  val)
inline

Definition at line 60 of file PurgMagPrimaryGeneratorAction.hh.

60 { rndmVertex = val;}

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