19#ifndef BDSGLOBALCONSTANTS_H
20#define BDSGLOBALCONSTANTS_H
22#include "BDSIntegratorSetType.hh"
23#include "BDSMagnetGeometryType.hh"
24#include "BDSOutputType.hh"
25#include "BDSTrajectoryFilter.hh"
26#include "BDSTrajectoryOptions.hh"
29#include "G4ThreeVector.hh"
30#include "G4Transform3D.hh"
31#include "G4Version.hh"
33#include "CLHEP/Units/SystemOfUnits.h"
35#include "parser/options.h"
99 inline G4bool Geant4PhysicsMacroFileNameFromExecOptions()
const {
return G4bool(
options.geant4PhysicsMacroFileNameFromExecOptions);}
102 inline G4bool OutputFileNameSet()
const {
return G4bool (
options.
HasBeenSet(
"outputFileName"));}
105 inline G4bool Survey()
const {
return G4bool (
options.
survey);}
107 inline G4bool Batch()
const {
return G4bool (
options.
batch);}
120 inline G4int VerboseImportanceSampling()
const {
return G4int (
options.verboseImportanceSampling);}
121 inline G4bool VerboseSensitivity()
const {
return G4bool(
options.verboseSensitivity);}
123 inline G4int Seed()
const {
return G4int (
options.
seed);}
134 inline G4bool NGenerateSet()
const {
return G4bool (
options.
HasBeenSet(
"ngenerate"));}
141 G4int PrintModuloEvents()
const;
142 G4int PrintModuloTurns()
const;
143 inline G4bool PhysicsVerbose()
const {
return G4bool (
options.physicsVerbose);}
144 inline G4int PhysicsVerbosity()
const {
return G4int (
options.physicsVerbosity);}
145 inline G4double PhysicsEnergyLimitLow()
const {
return G4double(
options.physicsEnergyLimitLow)*CLHEP::GeV;}
146 inline G4double PhysicsEnergyLimitHigh()
const {
return G4double(
options.physicsEnergyLimitHigh)*CLHEP::GeV;}
148 inline G4bool G4PhysicsUseBDSIMRangeCuts()
const {
return G4bool(
options.g4PhysicsUseBDSIMRangeCuts);}
149 inline G4bool G4PhysicsUseBDSIMCutsAndLimits()
const {
return G4bool(
options.g4PhysicsUseBDSIMCutsAndLimits);}
151 inline G4double PrintFractionEvents()
const {
return G4double(
options.printFractionEvents);}
152 inline G4double PrintFractionTurns()
const {
return G4double(
options.printFractionTurns);}
153 inline G4bool PrintPhysicsProcesses()
const {
return G4bool (
options.printPhysicsProcesses);}
154 inline G4double LengthSafety()
const {
return G4double(
options.lengthSafety*CLHEP::m);}
155 inline G4double LengthSafetyLarge()
const {
return G4double(
options.lengthSafetyLarge*CLHEP::m);}
156 inline G4double HorizontalWidth()
const {
return G4double(
options.horizontalWidth)*CLHEP::m;}
158 inline G4bool IgnoreLocalMagnetGeometry()
const {
return G4bool (
options.ignoreLocalMagnetGeometry);}
159 inline G4bool BuildPoleFaceGeometry()
const {
return G4bool (
options.buildPoleFaceGeometry);}
160 inline G4String OuterMaterialName()
const {
return G4String(
options.outerMaterialName);}
167 inline G4double ELossHistoBinWidth()
const {
return G4double(
options.elossHistoBinWidth)*CLHEP::m;}
173 inline G4bool DefaultRangeCutsSet()
const {
return G4bool (
options.
HasBeenSet(
"defaultRangeCut"));}
174 inline G4bool ProdCutPhotonsSet()
const {
return G4bool (
options.
HasBeenSet(
"prodCutPhotons"));}
175 inline G4bool ProdCutElectronsSet()
const {
return G4bool (
options.
HasBeenSet(
"prodCutElectrons"));}
176 inline G4bool ProdCutPositronsSet()
const {
return G4bool (
options.
HasBeenSet(
"prodCutPositrons"));}
177 inline G4bool ProdCutProtonsSet()
const {
return G4bool (
options.
HasBeenSet(
"prodCutProtons"));}
187 inline G4bool RestoreFTPFDiffractionForAGreater10Set()
const {
return G4bool(
options.
HasBeenSet(
"restoreFTPFDiffractionForAGreater10"));}
197 inline G4String BiasForWorldVolume()
const {
return G4String(
options.biasForWorldVolume);}
198 inline G4String BiasForWorldContents()
const {
return G4String(
options.biasForWorldContents);}
199 inline G4String BiasForWorldVacuum()
const {
return G4String(
options.biasForWorldVacuum);}
200 inline G4String WorldVacuumVolumeNames()
const {
return G4String(
options.worldVacuumVolumeNames);}
201 inline G4double DeltaIntersection()
const {
return G4double(
options.deltaIntersection)*CLHEP::m;}
202 inline G4double ChordStepMinimum()
const {
return G4double(
options.chordStepMinimum)*CLHEP::m;}
203 inline G4double ChordStepMinimumYoke()
const {
return G4double(
options.chordStepMinimumYoke)*CLHEP::m;}
204 inline G4double DeltaOneStep()
const {
return G4double(
options.deltaOneStep)*CLHEP::m;}
205 inline G4double MinimumEpsilonStep()
const {
return G4double(
options.minimumEpsilonStep);}
206 inline G4double MaximumEpsilonStep()
const {
return G4double(
options.maximumEpsilonStep);}
207 inline G4String FieldModulator()
const {
return G4String(
options.fieldModulator);}
211 inline G4int TurnsToTake()
const {
return G4int (
options.nturns);}
212 inline G4double FFact()
const {
return G4double(
options.
ffact);}
213 inline G4double BeamlineS()
const {
return G4double(
options.
beamlineS*CLHEP::m);}
214 inline G4bool SensitiveBeamPipe()
const {
return G4bool (
options.sensitiveBeamPipe);}
215 inline G4bool SensitiveOuter()
const {
return G4bool (
options.sensitiveOuter);}
216#if G4VERSION_NUMBER != 1030
221 inline G4bool CheckOverlaps()
const {
return false;}
223 inline G4int EventNumberOffset()
const {
return G4int (
options.eventNumberOffset);}
224 inline G4bool StoreMinimalData()
const {
return G4bool (
options.storeMinimalData);}
225 inline G4bool StorePrimaries()
const {
return G4bool (
options.storePrimaries);}
226 inline G4bool StorePrimaryHistograms()
const {
return G4bool (
options.storePrimaryHistograms);}
227 inline G4bool StoreApertureImpacts()
const {
return G4bool (
options.storeApertureImpacts);}
228 inline G4bool StoreApertureImpactsIons()
const {
return G4bool (
options.storeApertureImpactsIons);}
229 inline G4bool StoreApertureImpactsAll()
const {
return G4bool (
options.storeApertureImpactsAll);}
230 inline G4bool StoreApertureImpactsHistograms()
const {
return G4bool (
options.storeApertureImpactsHistograms);}
231 inline G4double ApertureImpactsMinimumKE()
const {
return G4double(
options.apertureImpactsMinimumKE*CLHEP::GeV);}
232 inline G4bool StoreCavityInfo()
const {
return G4bool (
options.storeCavityInfo);}
233 inline G4bool StoreCollimatorInfo()
const {
return G4bool (
options.storeCollimatorInfo);}
234 inline G4bool StoreCollimatorHits()
const {
return G4bool (
options.storeCollimatorHits);}
235 inline G4bool StoreCollimatorHitsLinks()
const {
return G4bool (
options.storeCollimatorHitsLinks);}
236 inline G4bool StoreCollimatorHitsIons()
const {
return G4bool (
options.storeCollimatorHitsIons);}
237 inline G4bool StoreCollimatorHitsAll()
const {
return G4bool (
options.storeCollimatorHitsAll);}
238 inline G4double CollimatorHitsMinimumKE()
const {
return G4double(
options.collimatorHitsMinimumKE*CLHEP::GeV);}
239 inline G4bool StoreELoss()
const {
return G4bool (
options.storeEloss);}
240 inline G4bool StoreELossHistograms()
const {
return G4bool (
options.storeElossHistograms);}
241 inline G4bool StoreELossVacuum()
const {
return G4bool (
options.storeElossVacuum);}
242 inline G4bool StoreELossVacuumHistograms()
const{
return G4bool (
options.storeElossVacuumHistograms);}
243 inline G4bool StoreELossTunnel()
const {
return G4bool (
options.storeElossTunnel);}
244 inline G4bool StoreELossTunnelHistograms()
const{
return G4bool (
options.storeElossTunnelHistograms);}
245 inline G4bool StoreELossWorld()
const {
return G4bool (
options.storeElossWorld);}
246 inline G4bool StoreELossWorldIntegral()
const {
return G4bool (
options.storeElossWorldIntegral);}
247 inline G4bool StoreELossWorldContents()
const {
return G4bool (
options.storeElossWorldContents);}
248 inline G4bool StoreELossWorldContentsIntegral()
const {
return G4bool (
options.storeElossWorldContentsIntegral);}
250 inline G4bool StoreELossLinks()
const {
return G4bool (
options.storeElossLinks);}
251 inline G4bool StoreELossLocal()
const {
return G4bool (
options.storeElossLocal);}
252 inline G4bool StoreELossGlobal()
const {
return G4bool (
options.storeElossGlobal);}
253 inline G4bool StoreELossTime()
const {
return G4bool (
options.storeElossTime);}
254 inline G4bool StoreELossStepLength()
const {
return G4bool (
options.storeElossStepLength);}
255 inline G4bool StoreELossPreStepKineticEnergy()
const {
return G4bool (
options.storeElossPreStepKineticEnergy);}
256 inline G4bool StoreELossModelID()
const {
return G4bool (
options.storeElossModelID);}
257 inline G4bool StoreELossPhysicsProcesses()
const{
return G4bool (
options.storeElossPhysicsProcesses);}
258 inline G4bool StoreParticleData()
const {
return G4bool (
options.storeParticleData);}
259 inline G4bool StoreTrajectory()
const {
return G4bool (
options.storeTrajectory);}
260 inline G4bool StoreTrajectoryAll()
const {
return options.storeTrajectoryDepth == -1;}
261 inline G4int StoreTrajectoryDepth()
const {
return G4int (
options.storeTrajectoryDepth);}
262 inline G4int StoreTrajectoryStepPoints()
const {
return G4int (
options.storeTrajectoryStepPoints);}
263 inline G4bool StoreTrajectoryStepPointLast()
const{
return G4bool(
options.storeTrajectoryStepPointLast);}
264 inline G4String StoreTrajectoryParticle()
const {
return G4String(
options.storeTrajectoryParticle);}
265 inline G4String StoreTrajectoryParticleID()
const {
return G4String(
options.storeTrajectoryParticleID);}
266 inline G4bool StoreTrajectorySecondaryParticles()
const {
return options.storeTrajectorySecondaryParticles;}
267 inline G4double StoreTrajectoryEnergyThreshold()
const {
return G4double (
options.storeTrajectoryEnergyThreshold*CLHEP::GeV);}
268 inline G4bool StoreTrajectoryKineticEnergy()
const {
return G4bool(
options.storeTrajectoryKineticEnergy);}
269 inline G4bool StoreTrajectoryMomentumVector()
const {
return G4bool(
options.storeTrajectoryMomentumVector);}
270 inline G4bool StoreTrajectoryProcesses()
const {
return G4bool(
options.storeTrajectoryProcesses);}
271 inline G4bool StoreTrajectoryTime()
const {
return G4bool(
options.storeTrajectoryTime);}
272 inline G4bool StoreTrajectoryLocal()
const {
return G4bool (
options.storeTrajectoryLocal);}
273 inline G4bool StoreTrajectoryLinks()
const {
return G4bool (
options.storeTrajectoryLinks);}
274 inline G4bool StoreTrajectoryIon()
const {
return G4bool (
options.storeTrajectoryIon);}
275 inline G4bool StoreTrajectoryMaterial()
const {
return G4bool (
options.storeTrajectoryMaterial);}
276 inline G4bool StoreTrajectoryAllVariables()
const{
return G4bool (
options.storeTrajectoryAllVariables);}
277 inline G4String StoreTrajectorySamplerID()
const {
return G4String(
options.storeTrajectorySamplerID);}
278 inline std::vector<std::pair<G4double, G4double> > StoreTrajectoryELossSRange()
const {
return elossSRange;}
279 inline G4bool TrajectoryFilterLogicAND()
const {
return G4bool (
options.trajectoryFilterLogicAND);}
280 inline std::bitset<BDS::NTrajectoryFilters> TrajectoryFiltersSet()
const {
return trajectoryFiltersSet;}
281 inline G4bool StoreSamplerAll()
const {
return G4bool (
options.storeSamplerAll);}
282 inline G4bool StoreSamplerPolarCoords()
const {
return G4bool (
options.storeSamplerPolarCoords);}
283 inline G4bool StoreSamplerCharge()
const {
return G4bool (
options.storeSamplerCharge);}
284 inline G4bool StoreSamplerKineticEnergy()
const {
return G4bool (
options.storeSamplerKineticEnergy);}
285 inline G4bool StoreSamplerMass()
const {
return G4bool (
options.storeSamplerMass);}
286 inline G4bool StoreSamplerRigidity()
const {
return G4bool (
options.storeSamplerRigidity);}
287 inline G4bool StoreSamplerIon()
const {
return G4bool (
options.storeSamplerIon);}
288 inline G4bool StoreModel()
const {
return G4bool (
options.storeModel);}
289 inline G4int SamplersSplitLevel()
const {
return G4int (
options.samplersSplitLevel);}
290 inline G4int ModelSplitLevel()
const {
return G4int (
options.modelSplitLevel);}
291 inline G4int UprootCompatible()
const {
return G4int (
options.uprootCompatible);}
292 inline G4bool TrajConnect()
const {
return G4bool (
options.trajConnect);}
293 inline G4double TrajCutGTZ()
const {
return G4double(
options.trajCutGTZ*CLHEP::m);}
294 inline G4double TrajCutLTR()
const {
return G4double(
options.trajCutLTR*CLHEP::m);}
295 inline G4bool StopSecondaries()
const {
return G4bool (
options.stopSecondaries);}
296 inline G4bool KillNeutrinos()
const {
return G4bool (
options.killNeutrinos);}
297 inline G4bool KilledParticlesMassAddedToEloss()
const {
return G4bool(
options.killedParticlesMassAddedToEloss);}
309 inline G4String WorldMaterial()
const {
return G4String(
options.worldMaterial);}
310 inline G4bool WorldMaterialSet()
const {
return G4bool (
options.
HasBeenSet(
"worldMaterial"));}
311 inline G4String WorldGeometryFile()
const {
return G4String(
options.worldGeometryFile);}
312 inline G4bool AutoColourWorldGeometryFile()
const {
return G4bool (
options.autoColourWorldGeometryFile);}
313 inline G4String ImportanceWorldGeometryFile()
const {
return G4String(
options.importanceWorldGeometryFile);}
314 inline G4String ImportanceVolumeMapFile()
const {
return G4String(
options.importanceVolumeMap);}
316 inline G4bool YokeFields()
const {
return G4bool (
options.yokeFields);}
317 inline G4bool YokeFieldsMatchLHCGeometry()
const{
return G4bool (
options.yokeFieldsMatchLHCGeometry);}
318 inline G4bool UseOldMultipoleOuterFields()
const{
return G4bool (
options.useOldMultipoleOuterFields);}
319 inline G4double ScalingFieldOuter()
const {
return G4double(
options.scalingFieldOuter);}
324 inline G4int NumberOfEventsPerNtuple()
const {
return G4int (
options.numberOfEventsPerNtuple);}
325 inline G4bool IncludeFringeFields()
const {
return G4bool (
options.includeFringeFields);}
326 inline G4bool IncludeFringeFieldsCavities()
const {
return G4bool (
options.includeFringeFieldsCavities);}
328 inline G4double ThinElementLength()
const {
return G4double(
options.thinElementLength*CLHEP::m);}
329 inline G4bool HStyle()
const {
return G4bool (
options.
hStyle);}
330 inline G4double VHRatio()
const {
return G4double(
options.vhRatio);}
331 inline G4double CoilWidthFraction()
const {
return G4double(
options.coilWidthFraction);}
332 inline G4double CoilHeightFraction()
const {
return G4double(
options.coilHeightFraction);}
334 inline G4bool PreprocessGDMLSchema()
const {
return G4bool (
options.preprocessGDMLSchema);}
335 inline G4int NBinsX()
const {
return G4int (
options.nbinsx);}
336 inline G4int NBinsY()
const {
return G4int (
options.nbinsy);}
337 inline G4int NBinsZ()
const {
return G4int (
options.nbinsz);}
338 inline G4double XMin()
const {
return G4double(
options.xmin) * CLHEP::m;}
339 inline G4double YMin()
const {
return G4double(
options.ymin) * CLHEP::m;}
340 inline G4double ZMin()
const {
return G4double(
options.zmin) * CLHEP::m;}
341 inline G4double XMax()
const {
return G4double(
options.xmax) * CLHEP::m;}
342 inline G4double YMax()
const {
return G4double(
options.ymax) * CLHEP::m;}
343 inline G4double ZMax()
const {
return G4double(
options.zmax) * CLHEP::m;}
344 inline G4bool UseScoringMap()
const {
return G4bool (
options.useScoringMap);}
345 inline G4bool RemoveTemporaryFiles()
const {
return G4bool (
options.removeTemporaryFiles);}
346 inline G4String TemporaryDirectory()
const {
return G4String(
options.temporaryDirectory);}
347 inline G4bool SampleElementsWithPoleface()
const {
return G4bool (
options.sampleElementsWithPoleface);}
350 inline G4double DEThresholdForScattering()
const {
return G4double(
options.dEThresholdForScattering)*CLHEP::GeV;}
351 inline G4String PTCOneTurnMapFileName()
const {
return G4String (
options.ptcOneTurnMapFileName);}
360 inline G4int TurnsTaken()
const {
return turnsTaken;}
363 inline G4bool CurvilinearDiameterShrunkForBends()
const {
return curvilinearDiameterShrunkForBends;}
367 inline G4VisAttributes* GetInvisibleVisAttr()
const {
return invisibleVisAttr;}
368 inline G4VisAttributes* VisibleDebugVisAttr()
const {
return visibleDebugVisAttr;}
369 inline G4VisAttributes* ContainerVisAttr()
const {
return options.
visDebug ? visibleDebugVisAttr : invisibleVisAttr;}
370 inline G4UserLimits* DefaultUserLimits()
const {
return defaultUserLimits;}
371 inline G4UserLimits* DefaultUserLimitsTunnel()
const {
return defaultUserLimitsTunnel;}
374 inline std::set<G4int> ParticlesToExcludeFromCutsAsSet()
const {
return particlesToExcludeFromCutsAsSet;}
386 inline G4double GetLaserwireWavelength()
const {
return itsLaserwireWavelength;}
387 inline G4ThreeVector GetLaserwireDir()
const {
return itsLaserwireDir;}
388 inline G4bool GetLaserwireTrackPhotons()
const {
return itsLaserwireTrackPhotons;}
389 inline G4bool GetLaserwireTrackElectrons()
const {
return itsLaserwireTrackElectrons;}
390 inline G4double GetLaserwireWavelength(G4String aName)
const {
return lwWavelength.at(aName);}
391 inline G4ThreeVector GetLaserwireDir(G4String aName)
const {
return lwDirection.at(aName);}
392 void SetLaserwireWavelength(G4String aName, G4double aWavelength);
393 void SetLaserwireDir(G4String aName, G4ThreeVector aDirection);
404 G4bool curvilinearDiameterShrunkForBends;
417 std::map<const G4String, G4double> lwWavelength;
418 std::map<const G4String, G4ThreeVector> lwDirection;
419 G4double itsLaserwireWavelength;
420 G4ThreeVector itsLaserwireDir;
421 G4bool itsLaserwireTrackPhotons;
422 G4bool itsLaserwireTrackElectrons;
427 void InitVisAttributes();
428 G4VisAttributes* invisibleVisAttr;
429 G4VisAttributes* visibleDebugVisAttr;
431 void InitDefaultUserLimits();
432 G4UserLimits* defaultUserLimits;
433 G4UserLimits* defaultUserLimitsTunnel;
434 std::set<G4int> particlesToExcludeFromCutsAsSet;
452inline void BDSGlobalConstants::SetLaserwireWavelength(G4String aName, G4double aWavelength)
453{lwWavelength[aName]=aWavelength;}
455inline void BDSGlobalConstants::SetLaserwireDir(G4String aName, G4ThreeVector aDirection)
456{lwDirection[aName]=aDirection;}
Holder class for all information required to describe a beam pipe model.
A class that holds global options and constants.
void SetNumberToGenerate(G4int number)
Setter.
GMAD::Options options
Options instance that this is largely based on and extends.
void ProcessTrajectoryELossSRange()
Process the option string and fill the below vector.
void SetCurvilinearDiameterShrunkForBends()
Setter.
G4int turnsTaken
Turn Control.
void IncrementTurnNumber()
Setter.
BDSGlobalConstants & operator=(const BDSGlobalConstants &)=delete
Unused default constructors.
G4double curvilinearDiameter
Curvilinear diameter for CL volumes - defaults to samplerDiameter.
BDSTunnelInfo * tunnelInfo
Tunnel model.
std::bitset< BDS::NTrajectoryFilters > trajectoryFiltersSet
Which filters were used in the options.
BDSGlobalConstants(const BDSGlobalConstants &)=delete
Unused default constructors.
static BDSGlobalConstants * Instance()
Access method.
BDSOutputType outputType
Output type enum for output format to be used.
BDSIntegratorSetType integratorSet
Integrator type enum for integrator set to be used.
std::vector< std::pair< G4double, G4double > > elossSRange
Pairs of S ranges to link trajectories to.
BDS::TrajectoryOptions StoreTrajectoryOptions() const
options that require some implementation.
BDSBeamPipeInfo * defaultBeamPipeModel
Default beam pipe model information.
void InitialiseBeamlineTransform()
Prepare the G4Transform3D instance from the options for the initial beam line transform.
BDSGlobalConstants()=delete
Unused default constructors.
void SetCurvilinearDiameter(G4double curvilinearDiameterIn)
Setter.
void SetSamplerDiameter(G4double samplerDiameterIn)
Setter.
BDSMagnetGeometryType magnetGeometryType
Magnet geometry.
G4double samplerDiameter
Cache of sampler diameter in this class so it can be updated.
G4Transform3D beamlineTransform
Transform for start of beam line.
G4int numberToGenerate
Number of particles to generate can be set from outside (by e.g. BDSBunchPtc)
G4bool StoreTrajectoryTransportationSteps() const
options that require some implementation.
void ResetTurnNumber()
Setter.
G4bool UseImportanceSampling() const
Is importance sampling being used.
static BDSGlobalConstants * instance
Singleton instance.
Holder struct of all information required to create a section of tunnel.
std::string seedStateFileName
Seed state file path.
double muonSplittingThresholdParentEk2
physics parameters
double beamlineS
Initial beam line transform w.r.t. the world coordinate frame.
bool survey
Parameter for survey.
double minimumRange
physics parameters
std::string outputFileName
Parameter for output format.
int muonSplittingFactor
physics parameters
double minimumRadiusOfCurvature
Minimum allowed radius of curvature.
int verboseSteppingEventContinueFor
Stepping level verbosity.
std::string exportFileName
Parameter for controlling geometry export.
int seed
The seed value for the random number generator.
double tunnelOffsetY
tunnel geometry parameters
int verboseEventContinueFor
Event level verbosity.
bool hStyle
H Style dipoles (if not, C Style).
std::string particlesToExcludeFromCuts
physics parameters
double ffact
magnetic field flip (+1 default, -1: flip sign)
double tunnelMaxSegmentLength
tunnel geometry parameters
double muonSplittingThresholdParentEk
physics parameters
int verboseEventStart
Event level verbosity.
bool useLENDGammaNuclear
physics parameters
double maximumTrackingTime
Maximum tracking time per track [s].
bool dontSplitSBends
geometry debug, don't split bends into multiple segments
bool useASCIISeedState
Whether to use the seed state from an ASCII file.
bool tunnelIsInfiniteAbsorber
physics parameters
bool verboseSteppingPrimaryOnly
Stepping level verbosity.
double muonSplittingExclusionWeight
physics parameters
bool collimatorsAreInfiniteAbsorbers
physics parameters
int verboseRunLevel
Run level verbosity.
bool turnOnOpticalSurface
Physics processes.
double prodCutProtons
physics parameters
int nSegmentsPerCircle
Number of facets per 2pi in visualisation.
bool preprocessGDML
geometry control
int maximumBetaChangePerStep
physics parameters
bool batch
Flag for batch / interactive mode.
double minimumKineticEnergy
physics parameters
int verboseTrackingLevel
Tracking verbosity.
bool circular
Flag for circular machine.
bool checkOverlaps
bdsim options
double neutronKineticEnergyLimit
physics parameters
double maximumTrackLength
Maximum permitted track length [m].
int verboseEventLevel
Event level verbosity.
bool restoreFTPFDiffractionForAGreater10
physics parameters
bool turnOnOpticalAbsorption
Physics processes.
bool buildTunnelStraight
tunnel geometry parameters
long maximumTracksPerEvent
physics parameters
double backupStepperMomLimit
Fractional momentum limit for reverting to backup steppers.
int outputCompressionLevel
Parameter for output format.
double maximumStepLength
Maximum permitted step length in any volume.
std::string exportType
Parameter for controlling geometry export.
double neutronTimeLimit
physics parameters
std::string vacMaterial
vacuum material
bool verbose
General verbosity.
std::string recreateFileName
The file path to recreate a run from.
bool teleporterFullTransform
Whether to use the new Transform3D method for the teleporter.
int startFromEvent
Event to start from when recreating.
std::string emptyMaterial
material in container volumes
bool muonSplittingExcludeWeight1Particles
physics parameters
double prodCutPhotons
physics parameters
bool generatePrimariesOnly
Whether to only generate primary coordinates and quit, or not.
double defaultRangeCut
physics parameters
double prodCutElectrons
physics parameters
bool verboseEventBDSIM
Event level verbosity.
int maximumPhotonsPerStep
physics parameters
bool exportGeometry
Parameter for controlling geometry export.
int verboseSteppingLevel
Stepping level verbosity.
bool turnOnRayleighScattering
Physics processes.
std::string geant4PhysicsMacroFileName
Geant4 physics macro.
std::string visMacroFileName
Visualisation filename.
double scintYieldFactor
physics parameters
bool beamPipeIsInfiniteAbsorber
physics parameters
bool verboseSteppingBDSIM
Stepping level verbosity.
bool useMuonNuclear
physics parameters
bool useElectroNuclear
physics parameters
int verboseSteppingEventStart
Stepping level verbosity.
std::string surveyFileName
Parameter for survey.
bool recreate
Whether to recreate from a file or not.
bool turnOnMieScattering
Physics processes.
std::string randomEngine
Name of random engine to use.
double prodCutPositrons
physics parameters
bool buildTunnel
tunnel geometry parameters
bool writeSeedState
Write the seed state each event to a text file.
bool visDebug
Flag for visualisation debug.
bool useGammaToMuMu
physics parameters
double minimumKineticEnergyTunnel
physics parameters
double tunnelOffsetX
tunnel geometry parameters
bool usePositronToMuMu
physics parameters
std::string geant4MacroFileName
Geant4 macro to run.
bool usePositronToHadrons
physics parameters
int muonSplittingFactor2
physics parameters
double worldVolumeMargin
Padding margin for world volume size.
double nominalMatrixRelativeMomCut
Momentum threshold for nominal dipole matrix tracking.
bool ignoreLocalAperture
default beampipe parameters
bool HasBeenSet(const std::string &name) const
Whether a parameter has been set using the set_value method or not.