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

#include <XPrimaryGeneratorAction.hh>

Inheritance diagram for XPrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

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

Detailed Description

Definition at line 42 of file XPrimaryGeneratorAction.hh.

Constructor & Destructor Documentation

XPrimaryGeneratorAction::XPrimaryGeneratorAction ( )

Definition at line 46 of file XPrimaryGeneratorAction.cc.

References python.hepunit::eV, G4RandomDirection(), and G4PhononLong::PhononDefinition().

47 {
48  G4int n_particle = 1;
49  fParticleGun = new G4ParticleGun(n_particle);
50 
51  // default particle kinematic
54  fParticleGun->SetParticlePosition(G4ThreeVector(0.0,0.0,0.0));
55  fParticleGun->SetParticleEnergy(1e-4*eV);
56 }
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector G4RandomDirection()
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
int G4int
Definition: G4Types.hh:78
void SetParticlePosition(G4ThreeVector aPosition)
static G4PhononLong * PhononDefinition()
Definition: G4PhononLong.cc:74
void SetParticleEnergy(G4double aKineticEnergy)
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)
XPrimaryGeneratorAction::~XPrimaryGeneratorAction ( )
virtual

Definition at line 61 of file XPrimaryGeneratorAction.cc.

62 {
63  delete fParticleGun;
64 }

Member Function Documentation

void XPrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Implements G4VUserPrimaryGeneratorAction.

Definition at line 69 of file XPrimaryGeneratorAction.cc.

References python.hepunit::eV, G4RandomDirection(), G4UniformRand, G4PhononLong::PhononDefinition(), G4PhononTransSlow::PhononDefinition(), and G4PhononTransFast::PhononDefinition().

70 {
71 
73 
74  G4double selector = G4UniformRand();
75  if(selector<0.53539) {
77  }
78  else if(selector<0.90217) {
80  }
81  else {
83  }
84 
85  //Set phonon energy.
86  //Do not set momentum direction here.
87  //Any momentum direction set here will be overwritten
88  //by XPhononStackingAction::ClassifyNewTrack
89  fParticleGun->SetParticleEnergy(0.0075*eV);
90  fParticleGun->GeneratePrimaryVertex(anEvent);
91 
92 }
static G4PhononTransSlow * PhononDefinition()
G4ThreeVector G4RandomDirection()
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
virtual void GeneratePrimaryVertex(G4Event *evt)
#define G4UniformRand()
Definition: Randomize.hh:87
static G4PhononLong * PhononDefinition()
Definition: G4PhononLong.cc:74
void SetParticleEnergy(G4double aKineticEnergy)
static G4PhononTransFast * PhononDefinition()
double G4double
Definition: G4Types.hh:76
void SetParticleDefinition(G4ParticleDefinition *aParticleDefinition)

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