Geant4  10.02.p03
PrimaryGeneratorAction0 Class Reference

#include <PrimaryGeneratorAction0.hh>

Collaboration diagram for PrimaryGeneratorAction0:

Public Member Functions

 PrimaryGeneratorAction0 (G4ParticleGun *)
 
 ~PrimaryGeneratorAction0 ()
 
void GeneratePrimaries (G4Event *)
 

Private Attributes

G4double fCosAlphaMin
 
G4double fCosAlphaMax
 
G4double fPsiMin
 
G4double fPsiMax
 
G4ParticleGunfParticleGun
 

Detailed Description

Definition at line 46 of file PrimaryGeneratorAction0.hh.

Constructor & Destructor Documentation

◆ PrimaryGeneratorAction0()

PrimaryGeneratorAction0::PrimaryGeneratorAction0 ( G4ParticleGun gun)

Definition at line 45 of file PrimaryGeneratorAction0.cc.

46 : fParticleGun(gun)
47 {
48  //solid angle
49  //
50  G4double alphaMin = 0*deg; //alpha in [0,pi]
51  G4double alphaMax = 60*deg;
52  fCosAlphaMin = std::cos(alphaMin);
53  fCosAlphaMax = std::cos(alphaMax);
54 
55  fPsiMin = 0*deg; //psi in [0, 2*pi]
56  fPsiMax = 360*deg;
57 }
static const double deg
Definition: G4SIunits.hh:151
double G4double
Definition: G4Types.hh:76

◆ ~PrimaryGeneratorAction0()

PrimaryGeneratorAction0::~PrimaryGeneratorAction0 ( )

Definition at line 61 of file PrimaryGeneratorAction0.cc.

62 { }

Member Function Documentation

◆ GeneratePrimaries()

void PrimaryGeneratorAction0::GeneratePrimaries ( G4Event anEvent)

Definition at line 66 of file PrimaryGeneratorAction0.cc.

67 {
68  //vertex position fixed
69  //
70  G4double x0 = 0*mm, y0 = 0*mm, z0 = 0*mm;
72 
73  //direction uniform in solid angle
74  //
76  G4double sinAlpha = std::sqrt(1. - cosAlpha*cosAlpha);
78 
79  G4double ux = sinAlpha*std::cos(psi),
80  uy = sinAlpha*std::sin(psi),
81  uz = cosAlpha;
82 
84 
86 }
CLHEP::Hep3Vector G4ThreeVector
void SetParticleMomentumDirection(G4ParticleMomentum aMomentumDirection)
virtual void GeneratePrimaryVertex(G4Event *evt)
void SetParticlePosition(G4ThreeVector aPosition)
#define G4UniformRand()
Definition: Randomize.hh:97
double G4double
Definition: G4Types.hh:76
static const double mm
Definition: G4SIunits.hh:114
Here is the call graph for this function:

Member Data Documentation

◆ fCosAlphaMax

G4double PrimaryGeneratorAction0::fCosAlphaMax
private

Definition at line 56 of file PrimaryGeneratorAction0.hh.

◆ fCosAlphaMin

G4double PrimaryGeneratorAction0::fCosAlphaMin
private

Definition at line 56 of file PrimaryGeneratorAction0.hh.

◆ fParticleGun

G4ParticleGun* PrimaryGeneratorAction0::fParticleGun
private

Definition at line 60 of file PrimaryGeneratorAction0.hh.

◆ fPsiMax

G4double PrimaryGeneratorAction0::fPsiMax
private

Definition at line 57 of file PrimaryGeneratorAction0.hh.

◆ fPsiMin

G4double PrimaryGeneratorAction0::fPsiMin
private

Definition at line 57 of file PrimaryGeneratorAction0.hh.


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