|
ATLAS Offline Software
|
#include <LArWheelCalculator.h>
|
| LArWheelCalculator (const EMECData &emecData, LArG4::LArWheelCalculator_t a_wheelType, int zside=1) |
|
virtual | ~LArWheelCalculator () |
|
| LArWheelCalculator (const LArWheelCalculator &)=delete |
|
LArWheelCalculator & | operator= (const LArWheelCalculator &)=delete |
|
double | GetFanHalfThickness (LArG4::LArWheelCalculator_t) const |
|
double | GetWheelThickness () const |
|
double | GetdWRPtoFrontFace () const |
|
double | GetStraightStartSection () const |
|
virtual LArG4::LArWheelCalculator_t | type () const |
|
int | GetAtlasZside () const |
|
double | zShift () const |
|
double | GetFanFoldRadius () const |
|
double | GetZeroFanPhi () const |
|
int | GetNumberOfWaves () const |
|
int | GetNumberOfHalfWaves () const |
|
int | GetNumberOfFans () const |
|
double | GetActiveLength () const |
|
double | GetFanStepOnPhi () const |
|
double | GetHalfWaveLength () const |
|
double | GetQuarterWaveLength () const |
|
double | GetWheelRefPoint () const |
|
double | GetFanHalfThickness () const |
|
bool | GetisModule () const |
|
bool | GetisElectrode () const |
|
bool | GetisInner () const |
|
bool | GetisBarrette () const |
|
bool | GetisBarretteCalib () const |
|
double | GetWheelInnerRadius (std::array< double, 2 > &rInner) const |
|
double | GetWheelInnerRadius (std::array< double, 3 > &rInner) const |
|
void | GetWheelOuterRadius (std::array< double, 2 > &rOuter) const |
|
void | GetWheelOuterRadius (std::array< double, 3 > &rOuter) const |
|
double | GetElecFocaltoWRP () const |
|
int | GetFirstFan () const |
|
int | GetLastFan () const |
|
int | GetStartGapNumber () const |
|
void | SetStartGapNumber (int n) |
|
int | adjust_fan_number (int fan_number) const |
|
double | parameterized_slant_angle (double) const |
| Calculates wave slant angle using parametrization for current wheel for given distance from calorimeter axis. More...
|
|
|
double | DistanceToTheNearestFan (CLHEP::Hep3Vector &p, int &out_fan_number) const |
| Determines the nearest to the input point fan. More...
|
|
double | DistanceToTheNeutralFibre (const CLHEP::Hep3Vector &p, int fan_number) const |
| Calculates aproximate, probably underestimate, distance to the neutral fibre of the vertical fan. More...
|
|
CLHEP::Hep3Vector | NearestPointOnNeutralFibre (const CLHEP::Hep3Vector &p, int fan_number) const |
|
std::vector< double > | NearestPointOnNeutralFibre_asVector (const CLHEP::Hep3Vector &p, int fan_number) const |
|
int | GetPhiGap (const CLHEP::Hep3Vector &p) const |
|
int | PhiGapNumberForWheel (int) const |
|
std::pair< int, int > | GetPhiGapAndSide (const CLHEP::Hep3Vector &p) const |
|
double | AmplitudeOfSurface (const CLHEP::Hep3Vector &P, int side, int fan_number) const |
|
This class separates some of the geometry details of the LAr endcap. 26-May-2009 AMS: remove all previous comments from here as obsoleted
Definition at line 59 of file LArWheelCalculator.h.
◆ LArWheelCalculator() [1/2]
Definition at line 99 of file LArWheelCalculator.cxx.
106 #ifndef PORTABLE_LAR_SHAPE
108 SmartIF<IMessageSvc>
msgSvc{Gaudi::svcLocator()->service(
"MessageSvc")};
110 throw std::runtime_error(
"LArWheelCalculator constructor: cannot initialze message service");
112 MsgStream
msg(
msgSvc,
"LArWheelCalculator");
114 PortableMsgStream
msg(
"LArWheelCalculator");
125 #ifdef LARWC_DTNF_NEW
131 <<
"initializing data members from DB..." <<
endmsg;
165 std::string pr_opt_value=emecData.
emecparams[0].PHIROTATION;
166 std::string sagging_opt_value=emecData.
emecparams[0].SAGGING;
281 throw std::runtime_error(
"LArWheelCalculator constructor:unknown LArWheelCalculator_t");
297 m_SaggingOn = (sagging_opt_value !=
"" && sagging_opt_value !=
"off")?
true:
false;
300 sagging_opt_value,
this);
302 msg <<
MSG::VERBOSE <<
"Creating DistanceCalculatorSaggingOn = " <<
this
305 msg <<
MSG::VERBOSE <<
"Creating DistanceCalculatorSaggingOff = " <<
this
319 std::string slant_params;
322 slant_params=emecData.
emecparams[0].INNERSLANTPARAM;
324 slant_params=emecData.
emecparams[0].OUTERSLANTPARAM;
329 if(slant_params !=
"" && slant_params !=
"default"){
330 double a,
b,
c,
d,
e;
331 if(sscanf(slant_params.c_str(),
"%80le %80le %80le %80le %80le", &
a, &
b, &
c, &
d, &
e) != 5){
333 <<
"LArWheelCalculator: ERROR: wrong value(s) "
334 <<
"for EMEC slant angle parameters: "
335 << slant_params <<
", "
336 <<
"defaults are used" <<
endmsg;
360 <<
"slant_params = " << slant_params <<
"" <<
endmsg
361 <<
"Sagging option = " << sagging_opt_value <<
"" <<
endmsg
363 <<
"Slant parameters : ";
◆ ~LArWheelCalculator()
LArWheelCalculator::~LArWheelCalculator |
( |
| ) |
|
|
virtual |
◆ LArWheelCalculator() [2/2]
◆ adjust_fan_number()
int LArWheelCalculator::adjust_fan_number |
( |
int |
fan_number | ) |
const |
|
inline |
Definition at line 218 of file LArWheelCalculator.h.
219 int res_fan_number = fan_number;
223 return res_fan_number;
◆ AmplitudeOfSurface()
double LArWheelCalculator::AmplitudeOfSurface |
( |
const CLHEP::Hep3Vector & |
P, |
|
|
int |
side, |
|
|
int |
fan_number |
|
) |
| const |
◆ DistanceToTheNearestFan()
double LArWheelCalculator::DistanceToTheNearestFan |
( |
CLHEP::Hep3Vector & |
p, |
|
|
int & |
out_fan_number |
|
) |
| const |
Determines the nearest to the input point fan.
Rotates point p to the localFan coordinates and returns the fan number to out_fan_number parameter.
Definition at line 90 of file LArWheelCalculatorGeometry.cxx.
◆ DistanceToTheNeutralFibre()
double LArWheelCalculator::DistanceToTheNeutralFibre |
( |
const CLHEP::Hep3Vector & |
p, |
|
|
int |
fan_number |
|
) |
| const |
Calculates aproximate, probably underestimate, distance to the neutral fibre of the vertical fan.
Sign of return value means side of the fan; negative - lower phi.
Definition at line 108 of file LArWheelCalculatorGeometry.cxx.
◆ fill_sincos_parameterization()
void LArWheelCalculator::fill_sincos_parameterization |
( |
| ) |
|
|
private |
◆ GetActiveLength()
double LArWheelCalculator::GetActiveLength |
( |
| ) |
const |
|
inline |
◆ GetAtlasZside()
int LArWheelCalculator::GetAtlasZside |
( |
| ) |
const |
|
inline |
◆ GetdWRPtoFrontFace()
double LArWheelCalculator::GetdWRPtoFrontFace |
( |
| ) |
const |
|
inline |
◆ GetElecFocaltoWRP()
double LArWheelCalculator::GetElecFocaltoWRP |
( |
| ) |
const |
|
inline |
◆ GetFanFoldRadius()
double LArWheelCalculator::GetFanFoldRadius |
( |
| ) |
const |
|
inline |
◆ GetFanHalfThickness() [1/2]
double LArWheelCalculator::GetFanHalfThickness |
( |
| ) |
const |
|
inline |
◆ GetFanHalfThickness() [2/2]
Definition at line 441 of file LArWheelCalculator.cxx.
476 throw std::runtime_error(
"LArWheelCalculator::GetFanHalfThickness: wrong wheel type");
◆ GetFanStepOnPhi()
double LArWheelCalculator::GetFanStepOnPhi |
( |
| ) |
const |
|
inline |
◆ GetFirstFan()
int LArWheelCalculator::GetFirstFan |
( |
| ) |
const |
|
inline |
◆ GetHalfWaveLength()
double LArWheelCalculator::GetHalfWaveLength |
( |
| ) |
const |
|
inline |
◆ GetisBarrette()
bool LArWheelCalculator::GetisBarrette |
( |
| ) |
const |
|
inline |
◆ GetisBarretteCalib()
bool LArWheelCalculator::GetisBarretteCalib |
( |
| ) |
const |
|
inline |
◆ GetisElectrode()
bool LArWheelCalculator::GetisElectrode |
( |
| ) |
const |
|
inline |
◆ GetisInner()
bool LArWheelCalculator::GetisInner |
( |
| ) |
const |
|
inline |
◆ GetisModule()
bool LArWheelCalculator::GetisModule |
( |
| ) |
const |
|
inline |
◆ GetLastFan()
int LArWheelCalculator::GetLastFan |
( |
| ) |
const |
|
inline |
◆ GetNumberOfFans()
int LArWheelCalculator::GetNumberOfFans |
( |
| ) |
const |
|
inline |
◆ GetNumberOfHalfWaves()
int LArWheelCalculator::GetNumberOfHalfWaves |
( |
| ) |
const |
|
inline |
◆ GetNumberOfWaves()
int LArWheelCalculator::GetNumberOfWaves |
( |
| ) |
const |
|
inline |
◆ GetPhiGap()
int LArWheelCalculator::GetPhiGap |
( |
const CLHEP::Hep3Vector & |
p | ) |
const |
|
inline |
◆ GetPhiGapAndSide()
std::pair< int, int > LArWheelCalculator::GetPhiGapAndSide |
( |
const CLHEP::Hep3Vector & |
p | ) |
const |
◆ GetQuarterWaveLength()
double LArWheelCalculator::GetQuarterWaveLength |
( |
| ) |
const |
|
inline |
◆ GetStartGapNumber()
int LArWheelCalculator::GetStartGapNumber |
( |
| ) |
const |
|
inline |
◆ GetStraightStartSection()
double LArWheelCalculator::GetStraightStartSection |
( |
| ) |
const |
|
inline |
◆ GetWheelInnerRadius() [1/2]
double LArWheelCalculator::GetWheelInnerRadius |
( |
std::array< double, 2 > & |
rInner | ) |
const |
◆ GetWheelInnerRadius() [2/2]
double LArWheelCalculator::GetWheelInnerRadius |
( |
std::array< double, 3 > & |
rInner | ) |
const |
◆ GetWheelOuterRadius() [1/2]
void LArWheelCalculator::GetWheelOuterRadius |
( |
std::array< double, 2 > & |
rOuter | ) |
const |
◆ GetWheelOuterRadius() [2/2]
void LArWheelCalculator::GetWheelOuterRadius |
( |
std::array< double, 3 > & |
rOuter | ) |
const |
◆ GetWheelRefPoint()
double LArWheelCalculator::GetWheelRefPoint |
( |
| ) |
const |
|
inline |
◆ GetWheelThickness()
double LArWheelCalculator::GetWheelThickness |
( |
| ) |
const |
|
inline |
◆ GetZeroFanPhi()
double LArWheelCalculator::GetZeroFanPhi |
( |
| ) |
const |
|
inline |
◆ inner_wheel_init()
void LArWheelCalculator::inner_wheel_init |
( |
const EMECData & |
emecData | ) |
|
|
private |
◆ LArWheelCalculatorTypeString()
◆ module_init()
void LArWheelCalculator::module_init |
( |
| ) |
|
|
private |
◆ NearestPointOnNeutralFibre()
CLHEP::Hep3Vector LArWheelCalculator::NearestPointOnNeutralFibre |
( |
const CLHEP::Hep3Vector & |
p, |
|
|
int |
fan_number |
|
) |
| const |
◆ NearestPointOnNeutralFibre_asVector()
std::vector< double > LArWheelCalculator::NearestPointOnNeutralFibre_asVector |
( |
const CLHEP::Hep3Vector & |
p, |
|
|
int |
fan_number |
|
) |
| const |
◆ operator=()
◆ outer_wheel_init()
void LArWheelCalculator::outer_wheel_init |
( |
const EMECData & |
emecData | ) |
|
|
private |
◆ parameterized_sin()
void LArWheelCalculator::parameterized_sin |
( |
const double |
r, |
|
|
double & |
sin_a, |
|
|
double & |
cos_a |
|
) |
| const |
|
private |
Definition at line 21 of file LArWheelCalculatorGeometry.cxx.
23 const double r2 =
r*
r;
24 const double r3 =
r2*
r;
25 const double r4 =
r2*
r2;
26 #if LARWC_SINCOS_POLY > 4
27 const double r5 = r4*
r;
34 #if LARWC_SINCOS_POLY > 4
38 cos_a = sqrt(1. - sin_a*sin_a);
◆ parameterized_sincos()
void LArWheelCalculator::parameterized_sincos |
( |
const double |
r, |
|
|
double & |
sin_a, |
|
|
double & |
cos_a |
|
) |
| const |
|
private |
Definition at line 41 of file LArWheelCalculatorGeometry.cxx.
43 const double r2 =
r*
r;
44 const double r3 =
r2*
r;
45 const double r4 =
r2*
r2;
46 #if LARWC_SINCOS_POLY > 4
47 const double r5 = r4*
r;
54 #if LARWC_SINCOS_POLY > 4
63 #if LARWC_SINCOS_POLY > 4
◆ parameterized_slant_angle()
double LArWheelCalculator::parameterized_slant_angle |
( |
double |
r | ) |
const |
Calculates wave slant angle using parametrization for current wheel for given distance from calorimeter axis.
Definition at line 71 of file LArWheelCalculatorGeometry.cxx.
73 const double r2 =
r*
r;
74 const double r3 =
r2*
r;
75 const double r4 =
r2*
r2;
◆ PhiGapNumberForWheel()
int LArWheelCalculator::PhiGapNumberForWheel |
( |
int |
i | ) |
const |
◆ SetStartGapNumber()
void LArWheelCalculator::SetStartGapNumber |
( |
int |
n | ) |
|
|
inline |
◆ type()
◆ zShift()
double LArWheelCalculator::zShift |
( |
| ) |
const |
|
inline |
◆ LArWheelCalculator_Impl::DistanceCalculatorSaggingOff
◆ LArWheelCalculator_Impl::DistanceCalculatorSaggingOn
◆ LArWheelCalculator_Impl::DistanceToTheNeutralFibre_OfFan
template<typename SaggingType >
◆ LArWheelCalculator_Impl::ModuleFanCalculator
◆ LArWheelCalculator_Impl::WheelFanCalculator
template<typename SaggingType >
◆ m_ActiveLength
double LArWheelCalculator::m_ActiveLength |
|
private |
◆ m_AtlasZside
int LArWheelCalculator::m_AtlasZside |
|
private |
◆ m_coldContraction
double LArWheelCalculator::m_coldContraction |
|
private |
◆ m_cos_parametrization
◆ m_dElecFocaltoWRP
double LArWheelCalculator::m_dElecFocaltoWRP |
|
private |
◆ m_distanceCalcImpl
◆ m_dMechFocaltoWRP
double LArWheelCalculator::m_dMechFocaltoWRP |
|
private |
◆ m_dWRPtoFrontFace
double LArWheelCalculator::m_dWRPtoFrontFace |
|
private |
◆ m_electrodeInvContraction
double LArWheelCalculator::m_electrodeInvContraction |
|
private |
◆ m_electrodeTotalThickness
double LArWheelCalculator::m_electrodeTotalThickness |
|
private |
◆ m_eta_hi
double LArWheelCalculator::m_eta_hi |
|
private |
◆ m_eta_low
double LArWheelCalculator::m_eta_low |
|
private |
◆ m_eta_mid
double LArWheelCalculator::m_eta_mid |
|
private |
◆ m_fanCalcImpl
◆ m_FanFoldRadius
double LArWheelCalculator::m_FanFoldRadius |
|
private |
◆ m_FanHalfThickness
double LArWheelCalculator::m_FanHalfThickness |
|
private |
◆ m_FanStepOnPhi
double LArWheelCalculator::m_FanStepOnPhi |
|
private |
◆ m_FirstFan
int LArWheelCalculator::m_FirstFan |
|
private |
◆ m_glueThickness
double LArWheelCalculator::m_glueThickness |
|
private |
◆ m_HalfGapBetweenWheels
double LArWheelCalculator::m_HalfGapBetweenWheels |
|
private |
◆ m_HalfWaveLength
double LArWheelCalculator::m_HalfWaveLength |
|
private |
◆ m_HalfWheelThickness
double LArWheelCalculator::m_HalfWheelThickness |
|
private |
◆ m_isBarrette
bool LArWheelCalculator::m_isBarrette |
|
private |
◆ m_isBarretteCalib
bool LArWheelCalculator::m_isBarretteCalib |
|
private |
◆ m_isElectrode
bool LArWheelCalculator::m_isElectrode |
|
private |
◆ m_isInner
bool LArWheelCalculator::m_isInner |
|
private |
◆ m_isModule
bool LArWheelCalculator::m_isModule |
|
private |
◆ m_LastFan
int LArWheelCalculator::m_LastFan |
|
private |
◆ m_leadThicknessInner
double LArWheelCalculator::m_leadThicknessInner |
|
private |
◆ m_leadThicknessOuter
double LArWheelCalculator::m_leadThicknessOuter |
|
private |
◆ m_NumberOfFans
int LArWheelCalculator::m_NumberOfFans |
|
private |
◆ m_NumberOfHalfWaves
int LArWheelCalculator::m_NumberOfHalfWaves |
|
private |
◆ m_NumberOfWaves
int LArWheelCalculator::m_NumberOfWaves |
|
private |
◆ m_phiRotation
bool LArWheelCalculator::m_phiRotation |
|
private |
◆ m_QuarterWaveLength
double LArWheelCalculator::m_QuarterWaveLength |
|
private |
◆ m_rOuterCutoff
double LArWheelCalculator::m_rOuterCutoff |
|
private |
◆ m_sagging_parameter
std::vector<std::vector<double> > LArWheelCalculator::m_sagging_parameter |
|
private |
◆ m_SaggingOn
bool LArWheelCalculator::m_SaggingOn |
|
private |
◆ m_sin_parametrization
◆ m_slant_parametrization
std::array<double,5> LArWheelCalculator::m_slant_parametrization |
|
private |
◆ m_slant_use_default
bool LArWheelCalculator::m_slant_use_default |
|
private |
◆ m_steelThickness
double LArWheelCalculator::m_steelThickness |
|
private |
◆ m_StraightStartSection
double LArWheelCalculator::m_StraightStartSection |
|
private |
◆ m_type
◆ m_WheelThickness
double LArWheelCalculator::m_WheelThickness |
|
private |
◆ m_ZeroFanPhi
double LArWheelCalculator::m_ZeroFanPhi |
|
private |
◆ m_ZeroFanPhi_ForDetNeaFan
double LArWheelCalculator::m_ZeroFanPhi_ForDetNeaFan |
|
private |
◆ m_ZeroGapNumber
int LArWheelCalculator::m_ZeroGapNumber |
|
private |
◆ m_zShift
double LArWheelCalculator::m_zShift |
|
private |
◆ m_zWheelBackFace
double LArWheelCalculator::m_zWheelBackFace |
|
private |
◆ m_zWheelFrontFace
double LArWheelCalculator::m_zWheelFrontFace |
|
private |
◆ m_zWheelRefPoint
double LArWheelCalculator::m_zWheelRefPoint |
|
private |
The documentation for this class was generated from the following files:
@ BackOuterBarretteModule
static IFanCalculator * Create(bool isSaggingOn, bool isModule, LArWheelCalculator *lwc)
double m_electrodeTotalThickness
virtual int PhiGapNumberForWheel(int i) const =0
double m_electrodeInvContraction
void inner_wheel_init(const EMECData &)
virtual LArG4::LArWheelCalculator_t type() const
static const char * LArWheelCalculatorTypeString(LArG4::LArWheelCalculator_t)
double m_FanHalfThickness
LArWheelCalculator_Impl::IFanCalculator * m_fanCalcImpl
double m_leadThicknessOuter
virtual std::pair< int, int > GetPhiGapAndSide(const CLHEP::Hep3Vector &p) const =0
std::vector< EMECFAN > emecfan
std::vector< COLDCONTRACTION > coldcontraction
@ BackInnerBarretteWheelCalib
double m_HalfGapBetweenWheels
std::vector< EMECMAGICNUMBERS > emecmagicnumbers
@ BackOuterBarretteWheelCalib
virtual double AmplitudeOfSurface(const CLHEP::Hep3Vector &p, int side, int fan_number) const =0
std::vector< EMECPARAMS > emecparams
virtual double DistanceToTheNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const =0
std::vector< EMECGEOMETRY > emecgeometry
msgSvc
Provide convenience handles for various services.
double m_ZeroFanPhi_ForDetNeaFan
@ BackInnerBarretteModule
@ BackOuterBarretteModuleCalib
void fill_sincos_parameterization()
static IDistanceCalculator * Create(const std::string &sagging_opt, LArWheelCalculator *lwc)
virtual CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const =0
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 m_QuarterWaveLength
virtual double DistanceToTheNearestFan(CLHEP::Hep3Vector &p, int &out_fan_number) const =0
void outer_wheel_init(const EMECData &)
CLHEP::Hep3Vector NearestPointOnNeutralFibre(const CLHEP::Hep3Vector &p, int fan_number) const
std::array< double, LARWC_SINCOS_POLY+1 > m_cos_parametrization
std::vector< EMECWHEELPARAMETERS > emecwheelparameters
LArG4::LArWheelCalculator_t m_type
@ BackInnerBarretteModuleCalib
std::array< double, LARWC_SINCOS_POLY+1 > m_sin_parametrization
double GetFanHalfThickness() const