GLG4VertexGen_Gun Class Reference

Ratpac-two: GLG4VertexGen_Gun Class Reference
Ratpac-two

#include <GLG4VertexGen.hh>

Inheritance diagram for GLG4VertexGen_Gun:
GLG4VertexGen

Public Types

enum  { numberOfElements = 110 }
 

Public Member Functions

 GLG4VertexGen_Gun (const char *arg_dbname="gun")
 
virtual void GeneratePrimaryVertex (G4Event *argEvent, G4ThreeVector &dx, G4double dt)
 
virtual void SetState (G4String newValues)
 
virtual G4String GetState ()
 
- Public Member Functions inherited from GLG4VertexGen
 GLG4VertexGen (const char *arg_dbname="vertex")
 
virtual bool ELimitable ()
 
virtual void LimitEnergies (double, double)
 
virtual double EMaximum ()
 
virtual double EMinimum ()
 

Static Public Attributes

static const char * theElementNames [numberOfElements]
 

Protected Attributes

G4ParticleDefinition * _pDef
 
G4ThreeVector _mom
 
G4double _ke
 
G4ThreeVector _pol
 
G4int _multiplicity
 
- Protected Attributes inherited from GLG4VertexGen
G4String _dbname
 

Detailed Description

vertex generator that can generate a primary vertex with one more particles of a given type, direction, energy, and polarization. Allows for randomly isotropic direction and random transverse polarization of spin-1, mass=0 particles

Member Function Documentation

◆ GeneratePrimaryVertex()

void GLG4VertexGen_Gun::GeneratePrimaryVertex ( G4Event *  argEvent,
G4ThreeVector &  dx,
G4double  dt 
)
virtual

Generates one or more particles with a specified momentum, or isotropic momentum with specific energy, and specified polarization, or uniformly random polarization, based on parameters set via SetState()

Implements GLG4VertexGen.

◆ SetState()

void GLG4VertexGen_Gun::SetState ( G4String  newValues)
virtual

Set state of the GLG4VertexGen_Gun, or show current state and explanation of state syntax if empty string provided.

Format of argument to GLG4VertexGen_Gun::SetState: "pname momx_MeV momy_MeV momz_MeV KE_MeV polx poly polz mult", where

  • pname is the name of a particle type (e-, mu-, U238, ...)
  • mom*_MeV is a momentum in MeV/c
  • KE_MeV is an optional override for kinetic energy
  • pol* is an optional polarization std::vector.
  • mult is an optional multiplicity of the particles. If mom*_MeV==0 and KE_MeV!=0, then random isotropic directions chosen. If pol*==0, then random transverse polarization for photons.

Implements GLG4VertexGen.

Member Data Documentation

◆ theElementNames

const char * GLG4VertexGen_Gun::theElementNames
static
Initial value:
= {
"H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K",
"Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr",
"Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La",
"Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os",
"Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am",
"Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Xa"
}

The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/include/RAT/GLG4VertexGen.hh
  • /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/gen/src/GLG4VertexGen.cc