Class Reference for E1039 Core & Analysis Software
|
Class to generate the event vertex, based on the beam profile and the target+spectrometer materials given. More...
#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/generators/E906LegacyVtxGen/SQPrimaryVertexGen.h>
Public Member Functions | |
SQPrimaryVertexGen () | |
~SQPrimaryVertexGen () | |
int | InitRun (PHCompositeNode *node) |
Initialize at the begining of Run. More... | |
int | InitRun (TString filename) |
void | fillMaterialProfile (MaterialProfile *prof, double xvtx, double yvtx) |
fill material profile using initial x/y position More... | |
TVector3 | generateVertex () |
generate 3-D vertex position More... | |
void | generateVtxPerp (double &x, double &y) |
use the beam profile to generate vertex in X-Y plane More... | |
double | getPARatio () |
get the proton/neutron ratio of the piece, must be called after generateVertex More... | |
double | getLuminosity () |
get the relative luminosity on this target More... | |
Static Public Member Functions | |
static double | funcBeamProfile (double *val, double *par) |
beam profile function More... | |
Class to generate the event vertex, based on the beam profile and the target+spectrometer materials given.
This class is used inside the event generators like SQPrimaryParticleGen
. User need not instantiate (i.e. new) this class explicitly.
The beam profile in (x, y) is Gaussian at r<3*sigma and 1/r at r>=3*sigma.
User can control the beam profile and the materials by changing the following recoConsts
flags.
X0_TARGET
, Y0_TARGET
... The center location of the target material.RX_TARGET
, RY_TARGET
... The radius of the target material.X_BEAM
, Y_BEAM
... The center location of the beam.SIGX_BEAM
, SIGY_BEAM
... The Gaussian width of the beam.VTX_GEN_MATERIAL_MODE
... Mode to enable only a part of materials.All
... Enable all materials (default).Target
... Enable only the target material.Dump
... Enable only the dump material.TargetDumpGap
... Enable only the air gap between the target and the dump.Manual
... Enable only a z-range specified via VTX_GEN_Z_START
and VTX_GEN_Z_STOP
. Definition at line 59 of file SQPrimaryVertexGen.h.
SQPrimaryVertexGen::SQPrimaryVertexGen | ( | ) |
SQPrimaryVertexGen::~SQPrimaryVertexGen | ( | ) |
void SQPrimaryVertexGen::fillMaterialProfile | ( | MaterialProfile * | prof, |
double | xvtx, | ||
double | yvtx | ||
) |
fill material profile using initial x/y position
|
static |
beam profile function
TVector3 SQPrimaryVertexGen::generateVertex | ( | ) |
generate 3-D vertex position
Referenced by PHHepMCGenHelper::move_vertex(), PHG4ParticleGun::process_event(), and PHG4SimpleEventGenerator::process_event().
void SQPrimaryVertexGen::generateVtxPerp | ( | double & | x, |
double & | y | ||
) |
use the beam profile to generate vertex in X-Y plane
|
inline |
get the relative luminosity on this target
Definition at line 85 of file SQPrimaryVertexGen.h.
|
inline |
get the proton/neutron ratio of the piece, must be called after generateVertex
Definition at line 82 of file SQPrimaryVertexGen.h.
Referenced by PHHepMCGenHelper::move_vertex().
int SQPrimaryVertexGen::InitRun | ( | PHCompositeNode * | node | ) |
Initialize at the begining of Run.
Referenced by PHHepMCGenHelper::create_node_tree(), PHG4ParticleGun::InitRun(), and PHG4SimpleEventGenerator::InitRun().
int SQPrimaryVertexGen::InitRun | ( | TString | filename | ) |