19#include "optionsBase.h"
34 geant4PhysicsMacroFileNameFromExecOptions =
false;
65 verboseImportanceSampling = 0;
67 verboseSensitivity =
false;
87 physicsVerbose =
false;
89 physicsEnergyLimitLow = 0;
90 physicsEnergyLimitHigh = 0;
91 g4PhysicsUseBDSIMRangeCuts =
true;
92 g4PhysicsUseBDSIMCutsAndLimits =
true;
97 elossHistoBinWidth = 1.0;
115 eventNumberOffset = 0;
119 xsize=0.0, ysize=0.0;
123 outerMaterialName =
"iron";
124 horizontalWidth = 0.6;
125 thinElementLength = 1e-7;
128 coilWidthFraction = -1;
129 coilHeightFraction = -1;
130 ignoreLocalMagnetGeometry =
false;
131 buildPoleFaceGeometry =
true;
134 preprocessGDMLSchema =
true;
139 includeFringeFields =
true;
140 includeFringeFieldsCavities =
true;
143 yokeFieldsMatchLHCGeometry =
true;
144 useOldMultipoleOuterFields =
false;
145 scalingFieldOuter = 1.0;
159 worldMaterial =
"G4_AIR";
160 worldGeometryFile =
"";
161 autoColourWorldGeometryFile =
true;
162 importanceWorldGeometryFile =
"";
163 importanceVolumeMap =
"";
166 vacuumPressure = 1e-12;
185 removeTemporaryFiles =
true;
186 temporaryDirectory =
"";
230 defaultBiasVacuum =
"";
231 defaultBiasMaterial =
"";
232 biasForWorldVolume =
"";
233 biasForWorldContents =
"";
234 biasForWorldVacuum =
"";
235 worldVacuumVolumeNames =
"";
238 integratorSet =
"bdsimmatrix";
241 lengthSafetyLarge = 1e-6;
245 chordStepMinimum = 1e-9;
246 chordStepMinimumYoke = 1e-6;
247 deltaIntersection = 1e-8;
248 sampleElementsWithPoleface =
false;
251 dEThresholdForScattering = 1e-11;
255 minimumEpsilonStep = 1e-12;
256 maximumEpsilonStep = 1e-7;
258 stopSecondaries =
false;
259 killNeutrinos =
false;
260 killedParticlesMassAddedToEloss =
false;
264 sensitiveOuter =
true;
265 sensitiveBeamPipe =
true;
268 numberOfEventsPerNtuple = 0;
270 storeMinimalData =
false;
272 storeApertureImpacts =
true;
273 storeApertureImpactsHistograms =
true;
274 storeApertureImpactsIons =
false;
275 storeApertureImpactsAll =
false;
276 apertureImpactsMinimumKE = 0;
277 storeCavityInfo =
true;
278 storeCollimatorInfo =
false;
279 storeCollimatorHits =
false;
280 storeCollimatorHitsLinks =
false;
281 storeCollimatorHitsIons =
false;
282 storeCollimatorHitsAll =
false;
283 collimatorHitsMinimumKE = 0;
285 storeElossHistograms =
true;
286 storeElossVacuum =
false;
287 storeElossVacuumHistograms =
false;
288 storeElossTunnel =
false;
289 storeElossTunnelHistograms =
false;
290 storeElossWorld =
false;
291 storeElossWorldIntegral =
false;
292 storeElossWorldContents =
false;
293 storeElossWorldContentsIntegral =
false;
294 storeElossTurn =
false;
295 storeElossLinks =
false;
296 storeElossLocal =
false;
297 storeElossGlobal =
false;
298 storeElossTime =
false;
299 storeElossStepLength =
false;
300 storeElossPreStepKineticEnergy =
false;
301 storeElossModelID =
false;
302 storeElossPhysicsProcesses =
false;
303 storeParticleData =
true;
304 storePrimaries =
true;
305 storePrimaryHistograms =
true;
307 storeTrajectory =
false;
309 storeTrajectoryDepth = 0;
310 storeTrajectoryStepPoints = 0;
311 storeTrajectoryStepPointLast =
false;
312 storeTrajectoryParticle =
"";
313 storeTrajectoryParticleID =
"";
314 storeTrajectorySecondaryParticles =
false;
315 storeTrajectoryEnergyThreshold = -1.0;
316 storeTrajectorySamplerID =
"";
317 storeTrajectoryELossSRange =
"";
319 storeTrajectoryTransportationSteps =
true;
321 storeTrajectoryKineticEnergy =
true;
322 storeTrajectoryMomentumVector =
false;
323 storeTrajectoryProcesses =
false;
324 storeTrajectoryTime =
false;
325 storeTrajectoryLocal =
false;
326 storeTrajectoryLinks =
false;
327 storeTrajectoryIon =
false;
328 storeTrajectoryMaterial =
false;
329 storeTrajectoryAllVariables =
false;
331 trajectoryFilterLogicAND =
false;
333 storeSamplerAll =
false;
334 storeSamplerPolarCoords =
false;
335 storeSamplerCharge =
false;
336 storeSamplerKineticEnergy =
true;
337 storeSamplerMass =
false;
338 storeSamplerRigidity =
false;
339 storeSamplerIon =
false;
347 samplersSplitLevel = 0;
349 uprootCompatible = 0;
353 ptcOneTurnMapFileName =
"";
355 printFractionEvents = 0.1;
356 printFractionTurns = 0.2;
357 printPhysicsProcesses =
false;
375 useScoringMap =
false;
381 std::cout<<
"Options " << std::endl;
382 std::cout<<
"n particles : " <<
nGenerate << std::endl;
383 std::cout<<
"BV sign : " <<
ffact << std::endl;
std::string seedStateFileName
Seed state file path.
std::string magnetGeometryType
default magnet geometry parameters
double beamlineZ
Initial beam line transform w.r.t. the world coordinate frame.
int nGenerate
The number of primary events to simulate.
std::string physicsList
list of physics processes
double muonSplittingThresholdParentEk2
physics parameters
double beamlineAngle
Initial beam line transform w.r.t. the world coordinate frame.
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 tunnelSoilThickness
tunnel geometry parameters
double minimumRadiusOfCurvature
Minimum allowed radius of curvature.
std::string outputFormat
Parameter for output format.
int verboseSteppingEventContinueFor
Stepping level verbosity.
bool beamlineAxisAngle
Initial beam line transform w.r.t. the world coordinate frame.
std::string exportFileName
Parameter for controlling geometry export.
int seed
The seed value for the random number generator.
double tunnelOffsetY
tunnel geometry parameters
double tunnelFloorOffset
tunnel geometry parameters
int verboseEventContinueFor
Event level verbosity.
bool hStyle
H Style dipoles (if not, C Style).
double xsize
for element specification
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
std::string tunnelMaterial
tunnel geometry parameters
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.
std::string soilMaterial
tunnel geometry parameters
bool preprocessGDML
geometry control
int maximumBetaChangePerStep
physics parameters
bool batch
Flag for batch / interactive mode.
double minimumKineticEnergy
physics parameters
int eventOffset
Event number to start from when recreating from a root file.
int verboseTrackingLevel
Tracking verbosity.
bool circular
Flag for circular machine.
bool checkOverlaps
bdsim options
double neutronKineticEnergyLimit
physics parameters
double aper1
default beampipe 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
std::string inputFileName
Input filename.
long maximumTracksPerEvent
physics parameters
double backupStepperMomLimit
Fractional momentum limit for reverting to backup steppers.
double aper2
default beampipe parameters
int outputCompressionLevel
Parameter for output format.
double beamlinePhi
Initial beam line transform w.r.t. the world coordinate frame.
double maximumStepLength
Maximum permitted step length in any volume.
std::string exportType
Parameter for controlling geometry export.
double neutronTimeLimit
physics parameters
bool recreateSeedState
Load seed state when recreating events.
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.
bool buildTunnelFloor
tunnel geometry parameters
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 beamlineAxisY
Initial beam line transform w.r.t. the world coordinate frame.
double prodCutElectrons
physics parameters
double tunnelAper1
tunnel geometry parameters
bool verboseEventBDSIM
Event level verbosity.
int maximumPhotonsPerStep
physics parameters
std::string beampipeMaterial
default beampipe parameters
bool exportGeometry
Parameter for controlling geometry export.
int verboseSteppingLevel
Stepping level verbosity.
double beampipeThickness
default beampipe parameters
bool turnOnRayleighScattering
Physics processes.
std::string geant4PhysicsMacroFileName
Geant4 physics macro.
void print() const
print some properties
std::string visMacroFileName
Visualisation filename.
double scintYieldFactor
physics parameters
bool beamPipeIsInfiniteAbsorber
physics parameters
double beamlineX
Initial beam line transform w.r.t. the world coordinate frame.
std::string apertureType
default beampipe 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.
double tunnelAper2
tunnel geometry parameters
bool turnOnMieScattering
Physics processes.
double beamlineY
Initial beam line transform w.r.t. the world coordinate frame.
double beamlineAxisX
Initial beam line transform w.r.t. the world coordinate frame.
double tunnelThickness
tunnel geometry parameters
std::string randomEngine
Name of random engine to use.
double prodCutPositrons
physics parameters
bool buildTunnel
tunnel geometry parameters
bool outputDoublePrecision
Parameter for output format.
bool writeSeedState
Write the seed state each event to a text file.
bool visDebug
Flag for visualisation debug.
bool useGammaToMuMu
physics parameters
double aper4
default beampipe parameters
double aper3
default beampipe parameters
double minimumKineticEnergyTunnel
physics parameters
double tunnelOffsetX
tunnel geometry parameters
bool usePositronToMuMu
physics parameters
std::string tunnelType
tunnel geometry parameters
double beamlineAxisZ
Initial beam line transform w.r.t. the world coordinate frame.
double beamlinePsi
Initial beam line transform w.r.t. the world coordinate frame.
std::string geant4MacroFileName
Geant4 macro to run.
bool trajNoTransportation
kept only for backwards compatibility.
bool usePositronToHadrons
physics parameters
bool tunnelVisible
tunnel geometry parameters
int muonSplittingFactor2
physics parameters
double worldVolumeMargin
Padding margin for world volume size.
double nominalMatrixRelativeMomCut
Momentum threshold for nominal dipole matrix tracking.
double beamlineTheta
Initial beam line transform w.r.t. the world coordinate frame.
bool ignoreLocalAperture
default beampipe parameters
Parser namespace for GMAD language. Combination of Geant4 and MAD.