Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
XPrimaryGeneratorAction Class Reference

#include <Doxymodules_exoticphysics.h>

Inheritance diagram for XPrimaryGeneratorAction:
G4VUserPrimaryGeneratorAction

Public Member Functions

 XPrimaryGeneratorAction ()
 
virtual ~XPrimaryGeneratorAction ()
 
virtual void GeneratePrimaries (G4Event *)
 

Private Attributes

G4ParticleGunfParticleGun
 

Detailed Description

Definition at line 51 of file Doxymodules_exoticphysics.h.

Constructor & Destructor Documentation

◆ XPrimaryGeneratorAction()

XPrimaryGeneratorAction::XPrimaryGeneratorAction ( )

Definition at line 45 of file XPrimaryGeneratorAction.cc.

46{
47 G4int n_particle = 1;
48 fParticleGun = new G4ParticleGun(n_particle);
49
50 // default particle kinematic
51 fParticleGun->SetParticleDefinition(G4PhononLong::PhononDefinition());
52 fParticleGun->SetParticleMomentumDirection(G4RandomDirection());
53 fParticleGun->SetParticlePosition(G4ThreeVector(0.0,0.0,0.0));
54 fParticleGun->SetParticleEnergy(1e-4*eV);
55}

◆ ~XPrimaryGeneratorAction()

XPrimaryGeneratorAction::~XPrimaryGeneratorAction ( )
virtual

Definition at line 60 of file XPrimaryGeneratorAction.cc.

61{
62 delete fParticleGun;
63}

Member Function Documentation

◆ GeneratePrimaries()

void XPrimaryGeneratorAction::GeneratePrimaries ( G4Event anEvent)
virtual

Definition at line 68 of file XPrimaryGeneratorAction.cc.

69{
70
71 fParticleGun->SetParticleMomentumDirection(G4RandomDirection());
72
73 G4double selector = G4UniformRand();
74 if(selector<0.53539) {
75 fParticleGun->SetParticleDefinition(G4PhononTransSlow::PhononDefinition());
76 }
77 else if(selector<0.90217) {
78 fParticleGun->SetParticleDefinition(G4PhononTransFast::PhononDefinition());
79 }
80 else {
81 fParticleGun->SetParticleDefinition(G4PhononLong::PhononDefinition());
82 }
83
84 //Set phonon energy.
85 //Do not set momentum direction here.
86 //Any momentum direction set here will be overwritten
87 //by XPhononStackingAction::ClassifyNewTrack
88 fParticleGun->SetParticleEnergy(0.0075*eV);
89 fParticleGun->GeneratePrimaryVertex(anEvent);
90
91}

Member Data Documentation

◆ fParticleGun

G4ParticleGun* XPrimaryGeneratorAction::fParticleGun
private

Definition at line 49 of file XPrimaryGeneratorAction.hh.


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

Applications | User Support | Publications | Collaboration