![]() |
ATLAS Offline Software
|
A class to read a vector of strings defining particle filtering settings and provide a method for filtering particles based on type and kinematics. More...
#include <BeamHaloGeneratorSettings.h>
Public Member Functions | |
| BeamHaloGeneratorSettings (const std::vector< std::string > &settings) | |
| Construct a class with a vector of string settings to filter particles. More... | |
| int | parseSettings (void) |
| A function to parse the settings using the vector of strings given to the constructor of this class. More... | |
| bool | checkParticle (BeamHaloParticle *beamHaloParticle) |
| Check if the supplied beam halo particle passes the generator settings. More... | |
| void | printSettings (void) |
| Print a summary of the current settings. More... | |
Private Types | |
| enum | enumShapeRequirements { NONE, CYLINDER } |
| An enum mapped to different shape requirements. More... | |
| enum | enumLimits { PX_LIMIT, PY_LIMIT, PZ_LIMIT, E_LIMIT, X_LIMIT, Y_LIMIT, Z_LIMIT, PT_LIMIT, PHI_LIMIT, ETA_LIMIT, R_LIMIT, W_LIMIT, ENUM_LIMITS_SIZE } |
Private Member Functions | |
| int | parseLimitSetting (std::vector< std::string > *commandVector) |
| A function to read the limit settings from the supplied vector of strings. More... | |
| bool | checkCylinder (BeamHaloParticle *beamHaloParticle) |
| A function to check if a particle is within a cylinder. More... | |
| bool | checkSetting (int index, double value) |
| A function to check if a particle is within a range. More... | |
Private Attributes | |
| std::vector< std::string > | m_generatorSettings |
| A vector of strings to configure the generator settings. More... | |
| std::vector< long > | m_allowedPdgIds |
| An allowed set of PDG ids where any empty vector implies all PDG ids are allowed. More... | |
| std::vector< std::pair< float, float > > | m_limits |
| Minimum and maximum limits. More... | |
| std::vector< std::pair< bool, bool > > | m_limitsEnabled |
| A vector of flags to signal if a limit should be used or not. More... | |
| int | m_shapeRequirement |
| A variable to store the volume shape requirement. More... | |
| bool | m_settingsParsed |
| A flag to check if the settings have been parsed or not. More... | |
Static Private Attributes | |
| static const std::string | m_limitNames [ENUM_LIMITS_SIZE] |
| The name of the limits. More... | |
A class to read a vector of strings defining particle filtering settings and provide a method for filtering particles based on type and kinematics.
Definition at line 25 of file BeamHaloGeneratorSettings.h.
|
private |
| Enumerator | |
|---|---|
| PX_LIMIT | |
| PY_LIMIT | |
| PZ_LIMIT | |
| E_LIMIT | |
| X_LIMIT | |
| Y_LIMIT | |
| Z_LIMIT | |
| PT_LIMIT | |
| PHI_LIMIT | |
| ETA_LIMIT | |
| R_LIMIT | |
| W_LIMIT | |
| ENUM_LIMITS_SIZE | |
Definition at line 51 of file BeamHaloGeneratorSettings.h.
|
private |
An enum mapped to different shape requirements.
| Enumerator | |
|---|---|
| NONE | |
| CYLINDER | |
Definition at line 47 of file BeamHaloGeneratorSettings.h.
| BeamHaloGeneratorSettings::BeamHaloGeneratorSettings | ( | const std::vector< std::string > & | settings | ) |
Construct a class with a vector of string settings to filter particles.
Definition at line 26 of file BeamHaloGeneratorSettings.cxx.
|
private |
A function to check if a particle is within a cylinder.
Definition at line 187 of file BeamHaloGeneratorSettings.cxx.
| bool BeamHaloGeneratorSettings::checkParticle | ( | BeamHaloParticle * | beamHaloParticle | ) |
Check if the supplied beam halo particle passes the generator settings.
Definition at line 139 of file BeamHaloGeneratorSettings.cxx.
|
private |
A function to check if a particle is within a range.
Definition at line 236 of file BeamHaloGeneratorSettings.cxx.
|
private |
A function to read the limit settings from the supplied vector of strings.
Definition at line 98 of file BeamHaloGeneratorSettings.cxx.
| int BeamHaloGeneratorSettings::parseSettings | ( | void | ) |
A function to parse the settings using the vector of strings given to the constructor of this class.
Definition at line 43 of file BeamHaloGeneratorSettings.cxx.
| void BeamHaloGeneratorSettings::printSettings | ( | void | ) |
Print a summary of the current settings.
Definition at line 250 of file BeamHaloGeneratorSettings.cxx.
|
private |
An allowed set of PDG ids where any empty vector implies all PDG ids are allowed.
Definition at line 84 of file BeamHaloGeneratorSettings.h.
|
private |
A vector of strings to configure the generator settings.
Definition at line 80 of file BeamHaloGeneratorSettings.h.
|
staticprivate |
The name of the limits.
Definition at line 77 of file BeamHaloGeneratorSettings.h.
|
private |
Minimum and maximum limits.
Definition at line 87 of file BeamHaloGeneratorSettings.h.
|
private |
A vector of flags to signal if a limit should be used or not.
Definition at line 90 of file BeamHaloGeneratorSettings.h.
|
private |
A flag to check if the settings have been parsed or not.
Definition at line 96 of file BeamHaloGeneratorSettings.h.
|
private |
A variable to store the volume shape requirement.
Definition at line 93 of file BeamHaloGeneratorSettings.h.
1.8.18