ATLAS Offline Software
SlidingCylinderSurface.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // SlidingCylinderSurface.h, (c) ATLAS Detector software
8 
9 #ifndef TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
10 #define TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
11 
12 // Trk
16 // Geometry & Math
18 #include <string>
19 #include <vector>
20 
21 namespace Trk {
22 
34 {
35 public:
36 
39  const Trk::BinUtility & bu,
40  const std::vector<float> & offset);
41 
42 
44  virtual bool operator==(const Surface& sf) const override final;
45 
49  virtual bool isOnSurface(const Amg::Vector3D& glopo,
50  const BoundaryCheck& bchk = true,
51  double tol1 = 0.,
52  double tol2 = 0.) const override final;
53 
56  virtual void localToGlobal(const Amg::Vector2D& locp,
57  const Amg::Vector3D& mom,
58  Amg::Vector3D& glob) const override final;
59 
63  virtual bool globalToLocal(const Amg::Vector3D& glob,
64  const Amg::Vector3D& mom,
65  Amg::Vector2D& loc) const override final;
66 
69  const Amg::Vector3D& pos,
70  const Amg::Vector3D& dir) const override final;
71 
74  const Amg::Vector3D& pos,
75  const Amg::Vector3D& dir,
76  bool Bound) const override final;
77 
79  const Trk::BinUtility binUtility() const { return m_etaBin; }
80 
82  const std::vector<float> offset() const { return m_depth; }
83 
85  virtual std::string name() const override
86  {
87  return "Trk::SlidingCylinderSurface";
88  }
89 
90 protected:
91  std::vector<float> m_depth{};
93 };
94 
95 } // end of namespace
96 
97 #endif // TRKGEOMETRYSURFACES_SLIDINGCYLINDERSURFACE_H
Trk::SlidingCylinderSurface::globalToLocal
virtual bool globalToLocal(const Amg::Vector3D &glob, const Amg::Vector3D &mom, Amg::Vector2D &loc) const override final
Specialized for DiscSurface: GlobalToLocal method without dynamic memory allocation - boolean checks ...
Definition: SlidingCylinderSurface.cxx:67
Trk::SlidingCylinderSurface::straightLineDistanceEstimate
virtual DistanceSolution straightLineDistanceEstimate(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const override final
fast straight line distance evaluation to Surface
Definition: SlidingCylinderSurface.cxx:112
Trk::DistanceSolution
Definition: DistanceSolution.h:25
Trk::SlidingCylinderSurface::m_etaBin
Trk::BinUtility m_etaBin
Definition: SlidingCylinderSurface.h:92
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
Trk::SlidingCylinderSurface::binUtility
const Trk::BinUtility binUtility() const
This method allows access to the bin utility.
Definition: SlidingCylinderSurface.h:79
BinUtility.h
ParamDefs.h
GeoPrimitives.h
Trk::SlidingCylinderSurface::operator==
virtual bool operator==(const Surface &sf) const override final
Equality operator.
Definition: SlidingCylinderSurface.cxx:32
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
Trk::SlidingCylinderSurface::SlidingCylinderSurface
SlidingCylinderSurface(const CylinderSurface &surf, const Trk::BinUtility &bu, const std::vector< float > &offset)
Constructor.
Definition: SlidingCylinderSurface.cxx:22
Trk::CylinderSurface
Definition: CylinderSurface.h:55
Trk::SlidingCylinderSurface::offset
const std::vector< float > offset() const
This method allows access to the radial offset values.
Definition: SlidingCylinderSurface.h:82
CylinderSurface.h
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::BinUtility
Definition: BinUtility.h:39
Trk::SlidingCylinderSurface::m_depth
std::vector< float > m_depth
Definition: SlidingCylinderSurface.h:91
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Trk::SlidingCylinderSurface::isOnSurface
virtual bool isOnSurface(const Amg::Vector3D &glopo, const BoundaryCheck &bchk=true, double tol1=0., double tol2=0.) const override final
This method returns true if the GlobalPosition is on the Surface for both, within or without check of...
Definition: SlidingCylinderSurface.cxx:94
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::BoundaryCheck
Definition: BoundaryCheck.h:51
Trk::SlidingCylinderSurface
Definition: SlidingCylinderSurface.h:34
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::SlidingCylinderSurface::localToGlobal
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const override final
Specialized for DiscSurface: LocalToGlobal method without dynamic memory allocation.
Definition: SlidingCylinderSurface.cxx:47
Trk::SlidingCylinderSurface::name
virtual std::string name() const override
Return properly formatted class name for screen output.
Definition: SlidingCylinderSurface.h:85