|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef GEOSPECIALSHAPES_LARWHEELCALCULATOR_H
6 #define GEOSPECIALSHAPES_LARWHEELCALCULATOR_H
11 #ifndef PORTABLE_LAR_SHAPE
16 #define HAVE_VECTOR_SIZE_ATTRIBUTE 1
18 #define CXXUTILS_FEATURES_H 1
22 #include "CLHEP/Vector/ThreeVector.h"
23 #if !defined(XAOD_STANDALONE) && !defined(PORTABLE_LAR_SHAPE)
25 #endif // XAOD_STANDALONE
27 #if HAVE_VECTOR_SIZE_ATTRIBUTE
35 #define LARWC_SINCOS_POLY 5
36 #define LARWC_DTNF_NEW
135 int fan_number)
const;
137 int fan_number)
const;
219 int res_fan_number = fan_number;
223 return res_fan_number;
240 #if HAVE_VECTOR_SIZE_ATTRIBUTE
246 #if !defined(XAOD_STANDALONE) && !defined(PORTABLE_LAR_SHAPE)
250 #endif // XAOD_STANDALONE
252 #endif // GEOSPECIALSHAPES_LARWHEELCALCULATOR_H
Some additional feature test macros.
double GetActiveLength() const
double GetStraightStartSection() const
double m_electrodeTotalThickness
bool GetisBarrette() const
double m_electrodeInvContraction
double parameterized_slant_angle(double) const
Calculates wave slant angle using parametrization for current wheel for given distance from calorimet...
Implements details of distance calculation to parts of the LAr endcap with sagging taken into account...
void inner_wheel_init(const EMECData &)
virtual LArG4::LArWheelCalculator_t type() const
int GetNumberOfHalfWaves() const
static const char * LArWheelCalculatorTypeString(LArG4::LArWheelCalculator_t)
double GetZeroFanPhi() const
int PhiGapNumberForWheel(int) const
double m_FanHalfThickness
LArWheelCalculator_Impl::IFanCalculator * m_fanCalcImpl
double m_leadThicknessOuter
std::vector< double > NearestPointOnNeutralFibre_asVector(const CLHEP::Hep3Vector &p, int fan_number) const
int GetPhiGap(const CLHEP::Hep3Vector &p) const
void parameterized_sincos(const double, double &, double &) const
double GetQuarterWaveLength() const
double m_HalfGapBetweenWheels
int GetNumberOfWaves() const
std::vector< std::vector< double > > m_sagging_parameter
int adjust_fan_number(int fan_number) const
bool GetisBarretteCalib() const
double GetWheelInnerRadius(std::array< double, 2 > &rInner) const
double m_ZeroFanPhi_ForDetNeaFan
void parameterized_sin(const double, double &, double &) const
LArWheelCalculator & operator=(const LArWheelCalculator &)=delete
int GetNumberOfFans() const
double GetFanFoldRadius() const
double GetWheelThickness() const
virtual ~LArWheelCalculator()
Implements details of distance calculation to parts of the LAr endcap without sagging corrections.
vectorized version of parametrized sincos see ATLASSIM-4753 for details
void fill_sincos_parameterization()
double GetdWRPtoFrontFace() const
void GetWheelOuterRadius(std::array< double, 2 > &rOuter) const
double GetElecFocaltoWRP() const
bool GetisElectrode() const
double m_StraightStartSection
std::pair< int, int > GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const
std::array< double, 5 > m_slant_parametrization
double m_leadThicknessInner
LArWheelCalculator_Impl::IDistanceCalculator * m_distanceCalcImpl
double m_HalfWheelThickness
double GetHalfWaveLength() const
double m_QuarterWaveLength
double AmplitudeOfSurface(const CLHEP::Hep3Vector &P, int side, int fan_number) const
double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int &out_fan_number) const
Determines the nearest to the input point fan.
void outer_wheel_init(const EMECData &)
CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const
LAr wheel fan calculator, templated for sagging settings.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
void SetStartGapNumber(int n)
int GetAtlasZside() const
std::array< double, LARWC_SINCOS_POLY+1 > m_cos_parametrization
LArWheelCalculator(const EMECData &emecData, LArG4::LArWheelCalculator_t a_wheelType, int zside=1)
int GetStartGapNumber() const
double GetFanStepOnPhi() const
double GetWheelRefPoint() const
double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const
Calculates aproximate, probably underestimate, distance to the neutral fibre of the vertical fan.
LArG4::LArWheelCalculator_t m_type
LArWheelCalculator(const LArWheelCalculator &)=delete
std::array< double, LARWC_SINCOS_POLY+1 > m_sin_parametrization
macros to associate a CLID to a type
This is an interface of distance calculation to parts of the LAr endcap.
double GetFanHalfThickness() const