Go to the documentation of this file.
10 #ifndef HERD_MCGENERATIONINFO_H_
11 #define HERD_MCGENERATIONINFO_H_
336 [[nodiscard]] std::pair<float, float>
EnergyRange()
const;
Position PositionType() const
Gets the type of position generation.
Definition: MCGenerationInfo.h:82
Vec3D _sphereCapPosition
Definition: MCGenerationInfo.h:371
virtual ~MCGenerationInfo()=default
Destructor
Herd::Rectangle Rectangle() const
Gets the generation rectangle.
Definition: MCGenerationInfo.cpp:90
Direction DirectionType() const
Gets the type of direction generation.
Definition: MCGenerationInfo.h:187
A class describing a vector in 3D space.
Definition: Vec3D.h:33
A rectangle in 3D space.
Definition: Rectangle.h:26
Information about particle generation in MC simulation.
Definition: MCGenerationInfo.h:27
bool WasAcceptanceCheckActive() const
Checks if the acceptance check was active during particle generation.
Definition: MCGenerationInfo.cpp:27
Herd::Vec3D _fixedShootingDirection
Definition: MCGenerationInfo.h:379
std::pair< float, float > IsotropicPolarAngleRange() const
Gets the minimum and maximum polar angles for isotropic generation.
Definition: MCGenerationInfo.cpp:132
float _minPolar
Definition: MCGenerationInfo.h:381
float _maxAzimuth
Definition: MCGenerationInfo.h:381
float SpectralIndex() const
Gets the spectral index used for power-law spectrum generation.
Definition: MCGenerationInfo.cpp:230
void SetPositionType(Position pos)
Sets the type of position generation.
Definition: MCGenerationInfo.cpp:35
void SetUniformAnglesRanges(float minPolar, float maxPolar, float minAzimuth, float maxAzimuth)
Sets the minimum and maximum polar and azimuth angles for uniform generation.
Definition: MCGenerationInfo.cpp:178
Point SphereCapCenter() const
Gets the center of the generation sphere cap.
Definition: MCGenerationInfo.cpp:60
void SetSpectrumType(Spectrum sp)
Sets the type of spectrum generation.
Definition: MCGenerationInfo.cpp:198
Spectrum SpectrumType() const
Gets the type of spectrum generation.
Definition: MCGenerationInfo.h:300
std::pair< float, float > UniformPolarAngleRange() const
Gets the minimum and maximum polar angles for uniform generation.
Definition: MCGenerationInfo.cpp:146
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:22
Spectrum
Enum for the kind of spectrum generation.
Definition: MCGenerationInfo.h:292
float SphereCapExtension() const
Gets the extension of the generation sphere cap.
Definition: MCGenerationInfo.cpp:74
Spectrum _spectrum
Definition: MCGenerationInfo.h:384
bool _acceptanceCheck
Definition: MCGenerationInfo.h:362
Vec3D FixedDirection() const
Gets the fixed generation direction.
Definition: MCGenerationInfo.cpp:118
Position _position
Definition: MCGenerationInfo.h:366
float _maxPolar
Definition: MCGenerationInfo.h:381
float FixedEnergy() const
Gets the fixed generation energy.
Definition: MCGenerationInfo.cpp:209
Point _sphereCapCenter
Definition: MCGenerationInfo.h:370
void SetSphereCap(Point sphereCapCenter, Vec3D sphereCapPosition, float sphereCapExtension)
Sets the generation sphere cap.
Definition: MCGenerationInfo.cpp:81
void SetAcceptanceCheck(bool accChecked)
Sets the acceptance check flag.
Definition: MCGenerationInfo.cpp:25
void SetRectangle(std::array< Point, 3 > points)
Sets the generation rectangle.
Definition: MCGenerationInfo.cpp:97
Direction
Definition: MCGenerationInfo.h:179
Point FixedPoint() const
Gets the particle generation point.
Definition: MCGenerationInfo.cpp:46
std::pair< float, float > EnergyRange() const
Gets the energy range used for power-law spectrum generation.
Definition: MCGenerationInfo.cpp:223
void SetPowerLawSpectrum(float minEnergy, float maxEnergy, float spectralIndex)
Sets the power-law spectrum generation.
Definition: MCGenerationInfo.cpp:237
void SetParticlePDGCode(int pdgCode)
Sets the PDG code of the generated particle.
Definition: MCGenerationInfo.cpp:29
int ParticlePDGCode() const
Gets the PDG code of the generated particle.
Definition: MCGenerationInfo.cpp:31
void SetFixedPoint(Point genPoint)
Sets the particle generation point.
Definition: MCGenerationInfo.cpp:53
void SetDirectionType(Direction dir)
Sets the type of direction generation.
Definition: MCGenerationInfo.cpp:106
float _minAzimuth
Definition: MCGenerationInfo.h:381
int _particlePdgCode
Definition: MCGenerationInfo.h:363
Direction _direction
Definition: MCGenerationInfo.h:377
void SetFixedEnergy(float energy)
Sets the fixed generation energy.
Definition: MCGenerationInfo.cpp:216
Position
Enum for the kind of position generation.
Definition: MCGenerationInfo.h:74
Herd::Rectangle _rectangle
Definition: MCGenerationInfo.h:374
float _spectralIndex
Definition: MCGenerationInfo.h:389
void SetFixedDirection(Vec3D dir)
Sets the fixed generation direction.
Definition: MCGenerationInfo.cpp:125
std::pair< float, float > UniformAzimuthAngleRange() const
Gets the minimum and maximum azimuth angles for uniform generation.
Definition: MCGenerationInfo.cpp:153
std::pair< float, float > IsotropicAzimuthAngleRange() const
Gets the minimum and maximum azimuth angles for isotropic generation.
Definition: MCGenerationInfo.cpp:139
void SetIsotropicAnglesRanges(float minPolar, float maxPolar, float minAzimuth, float maxAzimuth)
Sets the minimum and maximum polar and azimuth angles for isotropic generation.
Definition: MCGenerationInfo.cpp:160
float _sphereCapExtension
Definition: MCGenerationInfo.h:372
std::string GeneratorName() const
Gets the name of the particle generator.
Definition: MCGenerationInfo.cpp:23
void SetGeneratorName(std::string name)
Sets the name of the particle generator.
Definition: MCGenerationInfo.cpp:21
float _fixedShootingEnergy
Definition: MCGenerationInfo.h:386
float _minEnergy
Definition: MCGenerationInfo.h:388
float _maxEnergy
Definition: MCGenerationInfo.h:388
Vec3D SphereCapPosition() const
Gets the position of the generation sphere cap.
Definition: MCGenerationInfo.cpp:67
Point _fixedShootingPoint
Definition: MCGenerationInfo.h:368
std::string _generatorName
Definition: MCGenerationInfo.h:361
MCGenerationInfo()
Default constructor.
Definition: MCGenerationInfo.cpp:14