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

#include <DicomPrimaryGeneratorAction.hh>

Inheritance diagram for DicomPrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

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

Detailed Description

Definition at line 58 of file DicomPrimaryGeneratorAction.hh.

Constructor & Destructor Documentation

DicomPrimaryGeneratorAction::DicomPrimaryGeneratorAction ( )

Definition at line 58 of file DicomPrimaryGeneratorAction.cc.

60  fParticleGun(0)
61 {
62  G4int nParticle = 1;
63  fParticleGun = new G4ParticleGun(nParticle);
64 }
int G4int
Definition: G4Types.hh:78
DicomPrimaryGeneratorAction::~DicomPrimaryGeneratorAction ( )

Definition at line 67 of file DicomPrimaryGeneratorAction.cc.

68 {
69  delete fParticleGun;
70 }

Member Function Documentation

void DicomPrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 73 of file DicomPrimaryGeneratorAction.cc.

References G4ParticleTable::FindParticle(), G4ParticleGun::GeneratePrimaryVertex(), G4ParticleTable::GetParticleTable(), CLHEP::Hep3Vector::mag(), python.hepunit::MeV, G4ParticleGun::SetParticleDefinition(), G4ParticleGun::SetParticleEnergy(), G4ParticleGun::SetParticleMomentumDirection(), and G4VPrimaryGenerator::SetParticlePosition().

74 {
76  G4String particleName;
77  G4ParticleDefinition* particle
78  = particleTable->FindParticle(particleName="e-");
79  fParticleGun->SetParticleDefinition(particle);
80  // put the e- in the x direction of the patient (z in the accelerator axs)
81  // to hit patient in the central slice of the phantom
82  G4ThreeVector dir(0,0,1);
83  //G4ThreeVector dir(2.*CLHEP::RandFlat::shoot()-1.,
84  //2.*CLHEP::RandFlat::shoot()-1.,-CLHEP::RandFlat::shoot());
85  dir /= dir.mag();
86  fParticleGun->SetParticleMomentumDirection(dir);
87  fParticleGun->SetParticleEnergy(100.*MeV);
88  //put it at SAD = 1 m on xy plane of central slice
89  fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,0.));
90  //fParticleGun->SetParticlePosition(G4ThreeVector(0.,0.,-22.));
91  fParticleGun->GeneratePrimaryVertex(anEvent);
92 }
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
CLHEP::Hep3Vector G4ThreeVector
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
virtual void GeneratePrimaryVertex(G4Event *evt)
void SetParticlePosition(G4ThreeVector aPosition)
void SetParticleEnergy(G4double aKineticEnergy)
static G4ParticleTable * GetParticleTable()
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)

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