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.