ATLAS Offline Software
CylinderLayerAttemptsCalculator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // CylinderLayerAttemptsCalculator.h, (c) ATLAS Detector software
8 
9 #ifndef TRKGEOMETY_CYLINDERLAYERATTEMPTSCALCULATOR_H
10 #define TRKGEOMETY_CYLINDERLAYERATTEMPTSCALCULATOR_H
11 
14 
15 namespace Trk {
16 
25  public:
27  CylinderLayerAttemptsCalculator(unsigned int faceAttempts,
28  unsigned int maxAttempts)
29  : m_faceAttempts(faceAttempts), m_maxLayerAttempts(maxAttempts) {}
30 
32  virtual unsigned int layerAttempts(
33  BoundarySurfaceFace bsFace = Trk::undefinedFace) const override final;
34 
36  virtual unsigned int maxLayerAttempts() const override;
37 
38  private:
39  unsigned int m_faceAttempts;
40  unsigned int m_maxLayerAttempts;
41 };
42 
44  BoundarySurfaceFace bsFace) const {
45  // if you go through the Inner/Outer cover only one attempt is allowed
46  if (bsFace == tubeInnerCover || bsFace == tubeOuterCover)
47  return m_faceAttempts;
48  // allow the maximum
49  return m_maxLayerAttempts;
50 }
51 
53  return m_maxLayerAttempts;
54 }
55 } // namespace Trk
56 
57 #endif
Trk::CylinderLayerAttemptsCalculator::CylinderLayerAttemptsCalculator
CylinderLayerAttemptsCalculator(unsigned int faceAttempts, unsigned int maxAttempts)
Constructor.
Definition: CylinderLayerAttemptsCalculator.h:27
Trk::BoundarySurfaceFace
BoundarySurfaceFace
Definition: BoundarySurfaceFace.h:31
Trk::CylinderLayerAttemptsCalculator::m_maxLayerAttempts
unsigned int m_maxLayerAttempts
the max attempt number
Definition: CylinderLayerAttemptsCalculator.h:40
Trk::CylinderLayerAttemptsCalculator::layerAttempts
virtual unsigned int layerAttempts(BoundarySurfaceFace bsFace=Trk::undefinedFace) const override final
one single interface method
Definition: CylinderLayerAttemptsCalculator.h:43
LayerAttemptsCalculator.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::CylinderLayerAttemptsCalculator::m_faceAttempts
unsigned int m_faceAttempts
number of face attampts
Definition: CylinderLayerAttemptsCalculator.h:39
BoundarySurfaceFace.h
Trk::CylinderLayerAttemptsCalculator
Definition: CylinderLayerAttemptsCalculator.h:24
Trk::tubeOuterCover
@ tubeOuterCover
Definition: BoundarySurfaceFace.h:40
Trk::undefinedFace
@ undefinedFace
Definition: BoundarySurfaceFace.h:59
Trk::tubeInnerCover
@ tubeInnerCover
Definition: BoundarySurfaceFace.h:39
Trk::CylinderLayerAttemptsCalculator::maxLayerAttempts
virtual unsigned int maxLayerAttempts() const override
The max attempts.
Definition: CylinderLayerAttemptsCalculator.h:52
Trk::LayerAttemptsCalculator
Definition: LayerAttemptsCalculator.h:23