Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G01PrimaryGeneratorAction Class Reference

Minimal primary generator action to demonstrate the use of GDML geometries. More...

#include <G01PrimaryGeneratorAction.hh>

Inheritance diagram for G01PrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

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

Detailed Description

Minimal primary generator action to demonstrate the use of GDML geometries.

Definition at line 46 of file G01PrimaryGeneratorAction.hh.

Constructor & Destructor Documentation

G01PrimaryGeneratorAction::G01PrimaryGeneratorAction ( )

Definition at line 43 of file G01PrimaryGeneratorAction.cc.

References G4ParticleTable::FindParticle(), G4ParticleTable::GetParticleTable(), python.hepunit::GeV, python.hepunit::m, G4ParticleGun::SetParticleDefinition(), G4ParticleGun::SetParticleEnergy(), and G4VPrimaryGenerator::SetParticlePosition().

45  fParticleGun(0)
46 {
47  G4int n_particle = 1;
48  fParticleGun = new G4ParticleGun(n_particle);
49 
51  G4String particleName;
52  fParticleGun->SetParticleDefinition(
53  particleTable->FindParticle(particleName="geantino"));
54  fParticleGun->SetParticleEnergy(1.0*GeV);
55  fParticleGun->SetParticlePosition(G4ThreeVector(-2.0*m, 0.1, 0.1));
56 }
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
CLHEP::Hep3Vector G4ThreeVector
int G4int
Definition: G4Types.hh:78
void SetParticlePosition(G4ThreeVector aPosition)
void SetParticleEnergy(G4double aKineticEnergy)
static G4ParticleTable * GetParticleTable()
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
G01PrimaryGeneratorAction::~G01PrimaryGeneratorAction ( )

Definition at line 60 of file G01PrimaryGeneratorAction.cc.

61 {
62  delete fParticleGun;
63 }

Member Function Documentation

void G01PrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 67 of file G01PrimaryGeneratorAction.cc.

References G4ParticleGun::GeneratePrimaryVertex(), G4Event::GetEventID(), G4ParticleGun::SetParticleMomentumDirection(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), and test::v.

68 {
69  G4int i = anEvent->GetEventID() % 3;
70  G4ThreeVector v(1.0,0.0,0.0);
71  switch(i)
72  {
73  case 0:
74  break;
75  case 1:
76  v.setY(0.1);
77  break;
78  case 2:
79  v.setZ(0.1);
80  break;
81  }
82  fParticleGun->SetParticleMomentumDirection(v);
83  fParticleGun->GeneratePrimaryVertex(anEvent);
84 }
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
int G4int
Definition: G4Types.hh:78
virtual void GeneratePrimaryVertex(G4Event *evt)
G4int GetEventID() const
Definition: G4Event.hh:140

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