![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef GEOSPECIALSHAPES_LARWHEELCALCULATOR_H
6 #define GEOSPECIALSHAPES_LARWHEELCALCULATOR_H
12 #ifndef PORTABLE_LAR_SHAPE
17 #define HAVE_VECTOR_SIZE_ATTRIBUTE 1
19 #define CXXUTILS_FEATURES_H 1
23 #include "CLHEP/Vector/ThreeVector.h"
24 #if !defined(XAOD_STANDALONE) && !defined(PORTABLE_LAR_SHAPE)
26 #endif // XAOD_STANDALONE
28 #if HAVE_VECTOR_SIZE_ATTRIBUTE
33 #define LARWC_SINCOS_POLY 5
34 #define LARWC_DTNF_NEW
131 int fan_number)
const;
133 int fan_number)
const;
215 int res_fan_number = fan_number;
219 return res_fan_number;
236 #if HAVE_VECTOR_SIZE_ATTRIBUTE
242 #if !defined(XAOD_STANDALONE) && !defined(PORTABLE_LAR_SHAPE)
246 #endif // XAOD_STANDALONE
248 #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 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()
void GetWheelOuterRadius(double *) const
double GetdWRPtoFrontFace() const
double GetElecFocaltoWRP() const
bool GetisElectrode() const
double GetWheelInnerRadius(double *) 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