|
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;
93 std::string
name)
const = 0;
97 std::shared_ptr<TrackingVolume> secondVol,
99 const std::string&
name)
const = 0;
144 sf.associateLayer(lay);
150 #endif // TRKDETDESCRINTERFACES_IITRACKINGVOLUMEHELPER_H
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 void setOutsideTrackingVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *outsidevolarray) const =0
Glue Volume method: set outside Volume array — Neccessary as friendship cannot be inherited: your fat...
virtual void setOutsideTrackingVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, SharedObject< BinnedArray< TrackingVolume >> outsidevolarray) const =0
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 Trk::TrackingVolume * glueTrackingVolumeArrays(TrackingVolume &firstVol, BoundarySurfaceFace firstFace, TrackingVolume &secondVol, BoundarySurfaceFace secondFace, std::string name) const =0
Glue Volume method: many to many plus enveloping volume — Neccessary as friendship cannot be inherite...
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 setInsideTrackingVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, SharedObject< BinnedArray< TrackingVolume >> insidevolarray) const =0
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...
std::shared_ptr< T > SharedObject
virtual void setInsideTrackingVolumeArray(TrackingVolume &tvol, BoundarySurfaceFace face, BinnedArray< TrackingVolume > *insidevolarray) const =0
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
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...