ATLAS Offline Software
Classes | Enumerations | Functions
LArWheelCalculator_Impl Namespace Reference

Classes

class  DistanceCalculatorFactory
 
class  DistanceCalculatorSaggingOff
 Implements details of distance calculation to parts of the LAr endcap without sagging corrections. More...
 
class  DistanceCalculatorSaggingOn
 Implements details of distance calculation to parts of the LAr endcap with sagging taken into account. More...
 
class  DistanceToTheNeutralFibre_OfFan
 
class  DistanceToTheNeutralFibre_OfFan< SaggingOff_t >
 
class  DistanceToTheNeutralFibre_OfFan< SaggingOn_t >
 
class  DoSearch
 
class  DoSearch< BACKWARD >
 
class  DoSearch< FORWARD >
 
class  FanCalculatorFactory
 A factory for FanCalculators. More...
 
class  IDistanceCalculator
 
class  IFanCalculator
 
class  ModuleFanCalculator
 This is an interface of distance calculation to parts of the LAr endcap. More...
 
class  SaggingOff_t
 
class  SaggingOn_t
 
class  StepFan
 
class  StepFan< SaggingOff_t, dir >
 
class  StepFan< SaggingOn_t, BACKWARD >
 
class  StepFan< SaggingOn_t, FORWARD >
 
class  WheelFanCalculator
 LAr wheel fan calculator, templated for sagging settings. More...
 

Enumerations

enum  FanSearchDirection_t { FORWARD = 1, BACKWARD = -1 }
 

Functions

template<typename SaggingType , FanSearchDirection_t dir, class NFDistance >
void rotate_to_nearest_fan (const LArWheelCalculator *lwc, int &fan_number, const double angle, CLHEP::Hep3Vector &p)
 

Enumeration Type Documentation

◆ FanSearchDirection_t

Enumerator
FORWARD 
BACKWARD 

Definition at line 44 of file WheelFanCalculator.h.

44  {
45  FORWARD = 1, // delta = 1
46  BACKWARD = -1 // delta = -1
47  };

Function Documentation

◆ rotate_to_nearest_fan()

template<typename SaggingType , FanSearchDirection_t dir, class NFDistance >
void LArWheelCalculator_Impl::rotate_to_nearest_fan ( const LArWheelCalculator lwc,
int &  fan_number,
const double  angle,
CLHEP::Hep3Vector &  p 
)
inline
Todo:
Needs documentation

Definition at line 110 of file WheelFanCalculator.h.

112  {
113  p.rotateZ(angle);
115  //fan_number += delta;
116  double d1 = NFDistance::calculate(lwc, fan_number, p);
117 
118  //while(d0 * d1 > 0.) -> dir*d1 > 0 -> FORWARD: d1 > 0., BACKWARD: d1 < 0.
119 
120  while ( DoSearch<dir>::pred(d1) ) { // search:
121  p.rotateZ(angle);
123  //fan_number += delta;
124 
125  d1 = NFDistance::calculate(lwc, fan_number, p);
126  //lwc()->set_m_fan_number(fan_number);
127  //d1 = lwc()->DistanceToTheNeutralFibre(p);
128 
129  }
130  // if signs of d1 and d0 are different, the point is between current pair
132  //if(delta > 0) fan_number --;
133  }
WriteBchToCool.adjust
adjust
Definition: WriteBchToCool.py:73
CaloSwCorrections.lwc
def lwc(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:215
dq_defect_virtual_defect_validation.d1
d1
Definition: dq_defect_virtual_defect_validation.py:79
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
BACKWARD
#define BACKWARD
Definition: ALFA_SvdCalc.h:35
fillPileUpNoiseLumi.next
next
Definition: fillPileUpNoiseLumi.py:52
FORWARD
#define FORWARD
Definition: ALFA_SvdCalc.h:34
angle
double angle(const GeoTrf::Vector2D &a, const GeoTrf::Vector2D &b)
Definition: TRTDetectorFactory_Full.cxx:73
EMFourMomBuilder::calculate
void calculate(xAOD::Electron &electron)
Definition: EMFourMomBuilder.cxx:68