ATLAS Offline Software
BoundarySubtractedCylinderSurface.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // BoundarySubtractedCylinderSurface.h, (c) ATLAS Detector software
8 
9 #ifndef TRKVOLUMES_BOUNDARYSUBTRACTEDCYLIMDERSURFACE_H
10 #define TRKVOLUMES_BOUNDARYSUBTRACTEDCYLIMDERSURFACE_H
11 
12 // Trk
18 
19 namespace Trk {
20 
21 // class TrackParameters;
22 class Volume;
23 
35 template <class Tvol>
37  : virtual public BoundarySurface<Tvol>,
41 
42  public:
45 
48  const BoundarySubtractedCylinderSurface<Tvol>& bcs) = default;
49 
52 
55  const BoundarySubtractedCylinderSurface& vol) = default;
56 
59  const SubtractedCylinderSurface& csf)
60  : BoundarySurface<Tvol>(inside, outside),
62 
65  SharedObject<VolumeArray> outsideArray,
66  const SubtractedCylinderSurface& csf)
67  : BoundarySurface<Tvol>(insideArray, outsideArray),
69 
72  const SubtractedCylinderSurface& csf,
73  const Amg::Transform3D& tr)
74  : BoundarySurface<Tvol>(inside, outside),
75  SubtractedCylinderSurface(csf, tr) {}
76 
83  virtual const Tvol* attachedVolume(const TrackParameters& parms,
84  PropDirection dir) const override final;
85 
88  virtual const Tvol* attachedVolume(const Amg::Vector3D& pos,
89  const Amg::Vector3D& mom,
90  PropDirection dir) const override final;
91 
93  virtual const Surface& surfaceRepresentation() const override final;
94  virtual Surface& surfaceRepresentation() override final;
95 };
96 
97 // Hash include the inline functions
98 #include "TrkVolumes/BoundarySubtractedCylinderSurface.icc"
99 
100 } // end of namespace Trk
101 
102 #endif // TRKVOLUMES_BOUNDARYSUBTRACTEDCYLINDERSURFACE_H
103 
Trk::BoundarySurface
Definition: BoundarySurface.h:50
TrackParameters.h
Trk::BoundarySubtractedCylinderSurface
Definition: BoundarySubtractedCylinderSurface.h:38
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface()=default
Default Constructor - needed for pool and inherited classes.
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(const Tvol *inside, const Tvol *outside, const SubtractedCylinderSurface &csf)
Constructor for a Boundary with exact two Volumes attached to it.
Definition: BoundarySubtractedCylinderSurface.h:58
Trk::SubtractedCylinderSurface
Definition: SubtractedCylinderSurface.h:33
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(SharedObject< VolumeArray > insideArray, SharedObject< VolumeArray > outsideArray, const SubtractedCylinderSurface &csf)
Constructor for a Boundary with two VolumeArrays attached to it.
Definition: BoundarySubtractedCylinderSurface.h:64
Trk::BoundarySubtractedCylinderSurface::attachedVolume
virtual const Tvol * attachedVolume(const Amg::Vector3D &pos, const Amg::Vector3D &mom, PropDirection dir) const override final
Get the next Volume depending on GlobalPosition, GlobalMomentum, dir on the TrackParameters and the r...
PropDirection.h
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(const BoundarySubtractedCylinderSurface< Tvol > &bcs)=default
Copy constructor.
GeoPrimitives.h
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
ParticleGun_EoverP_Config.mom
mom
Definition: ParticleGun_EoverP_Config.py:63
Trk::BoundarySubtractedCylinderSurface::operator=
BoundarySubtractedCylinderSurface & operator=(const BoundarySubtractedCylinderSurface &vol)=default
Assignment operator.
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::BoundarySubtractedCylinderSurface::attachedVolume
virtual const Tvol * attachedVolume(const TrackParameters &parms, PropDirection dir) const override final
Get the next Volume depending on the TrackParameters and the requested direction, gives back 0 if the...
SubtractedCylinderSurface.h
Trk::ParametersBase
Definition: ParametersBase.h:55
beamspotman.dir
string dir
Definition: beamspotman.py:623
Trk::BoundarySubtractedCylinderSurface::BoundarySubtractedCylinderSurface
BoundarySubtractedCylinderSurface(const Tvol *inside, const Tvol *outside, const SubtractedCylinderSurface &csf, const Amg::Transform3D &tr)
Copy constructor with a shift.
Definition: BoundarySubtractedCylinderSurface.h:71
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::BoundarySubtractedCylinderSurface::~BoundarySubtractedCylinderSurface
virtual ~BoundarySubtractedCylinderSurface()=default
Virtual Destructor.
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::BoundarySubtractedCylinderSurface::surfaceRepresentation
virtual const Surface & surfaceRepresentation() const override final
The Surface Representation of this.
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
BoundarySurface.h
Trk::inside
@ inside
Definition: PropDirection.h:29
Trk::SharedObject
std::shared_ptr< T > SharedObject
Definition: SharedObject.h:24
Trk::outside
@ outside
Definition: PropDirection.h:29
Trk::BoundarySubtractedCylinderSurface::VolumeArray
BinnedArray< Tvol > VolumeArray
typedef the BinnedArray
Definition: BoundarySubtractedCylinderSurface.h:40
Trk::BinnedArray
Definition: BinnedArray.h:38
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75