|
virtual void | SetOptions (const BDSParticleDefinition *beamParticle, const GMAD::Beam &beam, const BDSBunchType &distrType, G4Transform3D beamlineTransformIn=G4Transform3D::Identity, const G4double beamlineS=0) |
|
virtual void | CheckParameters () |
|
virtual BDSParticleCoordsFull | GetNextParticleLocal () |
|
|
BDSBunchEShell & | operator= (const BDSBunchEShell &)=delete |
| Assignment and copy constructor not implemented nor used.
|
|
| BDSBunchEShell (BDSBunchEShell &)=delete |
| Assignment and copy constructor not implemented nor used.
|
|
| BDSBunch (const G4String &nameIn) |
|
virtual void | SetOptions (const BDSParticleDefinition *beamParticle, const GMAD::Beam &beam, const BDSBunchType &distrType, G4Transform3D beamlineTransformIn=G4Transform3D::Identity, const G4double beamlineS=0) |
|
virtual void | CheckParameters () |
|
virtual void | Initialise () |
| Any initialisation - to be used after SetOptions, then CheckParameters.
|
|
BDSParticleCoordsFullGlobal | GetNextParticle () |
|
virtual G4bool | ExpectChangingParticleType () const |
| A hint of whether we expect to require and extended particle set (ie pions, kaons, muons).
|
|
virtual BDSParticleCoordsFullGlobal | GetNextParticleValid (G4int maxTries=100) |
|
virtual void | BeginOfRunAction (G4int numberOfEvents, G4bool batchMode) |
|
virtual const BDSParticleDefinition * | ParticleDefinition () const |
| Access the beam particle definition.
|
|
virtual void | SetGeneratePrimariesOnly (G4bool generatePrimariesOnlyIn) |
|
virtual BDSParticleCoordsFull | GetNextParticleLocal () |
|
G4bool | UseCurvilinearTransform () const |
| Access whether there's a finite S offset and therefore we're using a CL transform.
|
|
virtual void | RecreateAdvanceToEvent (G4int eventOffset) |
|
G4bool | BeamParticleIsAnIon () const |
| Access whether the beam particle is an ion or not.
|
|
virtual void | UpdateIonDefinition () |
|
G4bool | ParticleDefinitionHasBeenUpdated () const |
|
G4String | Name () const |
| Distribution name.
|
|
G4int | CurrentBunchIndex () const |
| Get the current bunch index for writing to output.
|
|
void | CalculateBunchIndex (G4int eventIndex) |
| Calculate which bunch index we should be at given an event index.
|
|
An uncorrelated uniform random distribution within an elliptical shell.
- Author
- Stewart Boogert
Definition at line 30 of file BDSBunchEShell.hh.
Each derived class can override this default method of reference position. If S0 > 0 or derived class changes member bool 'curvilinear' z0 will be treated as S and the global z0 be calculated.
Reimplemented from BDSBunch.
Definition at line 87 of file BDSBunchEShell.cc.
References BDSBunch::CalculateZp(), BDSBunch::E0, BDSBunch::S0, BDSBunch::sigmaE, BDSBunch::T0, BDSBunch::X0, BDSBunch::Xp0, BDSBunch::Y0, BDSBunch::Yp0, BDSBunch::Z0, and BDSBunch::Zp0.
void BDSBunchEShell::SetOptions |
( |
const BDSParticleDefinition * |
beamParticle, |
|
|
const GMAD::Beam & |
beam, |
|
|
const BDSBunchType & |
distrType, |
|
|
G4Transform3D |
beamlineTransformIn = G4Transform3D::Identity , |
|
|
const G4double |
beamlineS = 0 |
|
) |
| |
|
virtual |
Extract and set the relevant options from the beam definition. The distribution type is explicitly required as this function may be used inside a nested bunch distribution. This argument is for the most part ignored, but there's no way to have a default for it. Also, some classes can cover multiple input distributions so need to know which one they're meant to be.
Reimplemented from BDSBunch.
Definition at line 47 of file BDSBunchEShell.cc.
References BDSBunch::SetOptions(), GMAD::BeamBase::shellX, GMAD::BeamBase::shellXp, GMAD::BeamBase::shellXpWidth, GMAD::BeamBase::shellXWidth, GMAD::BeamBase::shellY, GMAD::BeamBase::shellYp, GMAD::BeamBase::shellYpWidth, and GMAD::BeamBase::shellYWidth.