19#include "BDSBunchGaussMatrix.hh"
21#include "BDSUtilities.hh"
23#include "parser/beam.h"
25#include "Randomize.hh"
26#include "CLHEP/RandomObjects/RandMultiGauss.h"
28BDSBunchGaussMatrix::BDSBunchGaussMatrix():
35 G4Transform3D beamlineTransformIn,
36 const G4double beamlineSIn)
Common functionality for a 6D Gaussian distribution.
virtual void SetOptions(const BDSParticleDefinition *beamParticle, const GMAD::Beam &beam, const BDSBunchType &distrType, G4Transform3D beamlineTransformIn=G4Transform3D::Identity, const G4double beamlineS=0)
CLHEP::RandMultiGauss * gaussMultiGen
Randon number generator with sigma matrix and mean.
CLHEP::RandMultiGauss * CreateMultiGauss(CLHEP::HepRandomEngine &anEngine, const CLHEP::HepVector &mu, CLHEP::HepSymMatrix &sigma)
virtual void SetOptions(const BDSParticleDefinition *beamParticle, const GMAD::Beam &beam, const BDSBunchType &distrType, G4Transform3D beamlineTransformIn=G4Transform3D::Identity, const G4double beamlineS=0)
G4bool finiteSigmaE
Flags to ignore random number generator in case of no finite E or T.
G4bool finiteSigmaT
Flags to ignore random number generator in case of no finite E or T.
Wrapper for particle definition.
Improve type-safety of native enum data type in C++.
double sigma45
for the gaussian sigma matrix distribution
double sigma16
for the gaussian sigma matrix distribution
double sigma66
for the gaussian sigma matrix distribution
double sigma35
for the gaussian sigma matrix distribution
double sigma44
for the gaussian sigma matrix distribution
double sigma13
for the gaussian sigma matrix distribution
double sigma34
for the gaussian sigma matrix distribution
double sigma12
for the gaussian sigma matrix distribution
double sigma26
for the gaussian sigma matrix distribution
double sigma25
for the gaussian sigma matrix distribution
double sigma36
for the gaussian sigma matrix distribution
double sigma46
for the gaussian sigma matrix distribution
double sigma14
for the gaussian sigma matrix distribution
double sigma23
for the gaussian sigma matrix distribution
double sigma11
for the gaussian sigma matrix distribution
double sigma22
for the gaussian sigma matrix distribution
double sigma33
for the gaussian sigma matrix distribution
double sigma15
for the gaussian sigma matrix distribution
double sigma55
for the gaussian sigma matrix distribution
double sigma56
for the gaussian sigma matrix distribution
double sigma24
for the gaussian sigma matrix distribution
G4bool IsFinite(G4double value, G4double tolerance=std::numeric_limits< double >::epsilon())