 |
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKDETDESCRINTERFACES_ITRACKINGVOLUMEHELPER_H
10 #define TRKDETDESCRINTERFACES_ITRACKINGVOLUMEHELPER_H
13 #include "GaudiKernel/IAlgTool.h"
28 class CylinderVolumeBounds;
58 bool buildBoundaryLayer =
false)
const = 0;
67 const std::vector<TrackingVolume*>& secondVolumes,
69 bool buildBoundaryLayer =
false,
70 bool boundaryFaceExchange =
false)
const = 0;
78 const std::vector<TrackingVolume*>& firstVolumes,
80 const std::vector<TrackingVolume*>& secondVolumes,
82 bool buildBoundaryLayer =
false,
83 bool boundaryFaceExchange =
false)
const = 0;
90 std::shared_ptr<TrackingVolume> firstVol,
92 std::shared_ptr<TrackingVolume> secondVol,
94 const std::string&
name)
const = 0;
129 sf.associateLayer(lay);
135 #endif // TRKDETDESCRINTERFACES_IITRACKINGVOLUMEHELPER_H
virtual void setInsideTrackingVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, std::shared_ptr< BinnedArray< TrackingVolume >> insidevolarray) const =0
virtual void glueTrackingVolumes(TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace, bool buildBoundaryLayer=false) const =0
Glue Volume method: One to one — Neccessary as friendship cannot be inherited: your father's friend i...
DeclareInterfaceID(ITrackingVolumeHelper, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual ~ITrackingVolumeHelper()=default
Virtual destructor.
virtual void glueTrackingVolumes(TrackingVolume &firstVol, BoundarySurfaceFace firstFace, const std::vector< TrackingVolume * > &secondVolumes, BoundarySurfaceFace secondFace, bool buildBoundaryLayer=false, bool boundaryFaceExchange=false) const =0
Glue Volume method: One to many — Neccessary as friendship cannot be inherited: your father's friend ...
virtual void setOutsideTrackingVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *outsidevol) const =0
Glue Volume method: set outside Volume — Neccessary as friendship cannot be inherited: your father's ...
virtual void setOutsideTrackingVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, std::shared_ptr< BinnedArray< TrackingVolume >> outsidevolarray) const =0
Glue Volume method: set outside Volume array — Neccessary as friendship cannot be inherited: your fat...
Ensure that the ATLAS eigen extensions are properly loaded.
virtual void glueTrackingVolumes(const std::vector< TrackingVolume * > &firstVolumes, BoundarySurfaceFace firstFace, const std::vector< TrackingVolume * > &secondVolumes, BoundarySurfaceFace secondFace, bool buildBoundaryLayer=false, bool boundaryFaceExchange=false) const =0
Method to glue two VolumeArrays together (at navigation level) - without output — Necessary as friend...
virtual std::unique_ptr< Trk::TrackingVolume > glueTrackingVolumeArrays(std::shared_ptr< TrackingVolume > firstVol, BoundarySurfaceFace firstFace, std::shared_ptr< TrackingVolume > secondVol, BoundarySurfaceFace secondFace, const std::string &name) const =0
Glue Volume method: many to many plus enveloping volume — Neccessary as friendship cannot be inherite...
Define macros for attributes used to control the static checker.
void associateLayer(const Layer &lay, Surface &sf) const
Protected method to register the Layer to the Surface.
virtual void setInsideTrackingVolume(TrackingVolume &tvol, BoundarySurfaceFace face, TrackingVolume *insidevol) const =0
Glue Volume method: set inside Volume — Neccessary as friendship cannot be inherited: your father's f...