9#ifndef TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H
10#define TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H
13#include "GaudiKernel/IAlgTool.h"
65 const std::vector<Layer*>& layers,
69 const std::string& volumeName =
"UndefinedVolume",
84 const std::vector<Layer*>& layers,
90 const std::string& volumeName =
"UndefinedVolume",
110 unsigned int materialLayers,
111 bool cylinder =
true,
112 const std::string& volumeName =
"UndefinedVolume")
const = 0;
130 const std::vector<double>& layerPositions,
131 bool cylinder =
true,
132 const std::string& volumeName =
"UndefinedVolume",
143 const std::vector<TrackingVolume*>& volumes,
145 const std::string& volumeName =
"UndefinedVolume",
146 bool buildBoundaryLayers =
false,
147 bool replaceBoundaryFace =
false)
const = 0;
Define macros for attributes used to control the static checker.
Interface class ITrackingVolumeCreators It inherits from IAlgTool.
virtual TrackingVolume * createGapTrackingVolume(Material &matprop, double loc1Min, double loc1Max, double loc2Min, double loc2Max, const std::vector< double > &layerPositions, bool cylinder=true, const std::string &volumeName="UndefinedVolume", BinningType btype=arbitrary) const =0
create a gap volume from dimensions and
virtual TrackingVolume * createGapTrackingVolume(Material &matprop, double loc1Min, double loc1Max, double loc2Min, double loc2Max, unsigned int materialLayers, bool cylinder=true, const std::string &volumeName="UndefinedVolume") const =0
create a gap volume from dimensions and
virtual ~ITrackingVolumeCreator()
Virtual destructor.
DeclareInterfaceID(ITrackingVolumeCreator, 1, 0)
Creates the InterfaceID and interfaceID() method.
virtual TrackingVolume * createContainerTrackingVolume(const std::vector< TrackingVolume * > &volumes, const Material &matprop, const std::string &volumeName="UndefinedVolume", bool buildBoundaryLayers=false, bool replaceBoundaryFace=false) const =0
Create a one level higher TrackingVolue.
virtual TrackingVolume * createTrackingVolume(const std::vector< Layer * > &layers, Material &matprop, double loc1Min, double loc1Max, double loc2Min, double loc2Max, const std::string &volumeName="UndefinedVolume", BinningType btype=arbitrary) const =0
create a TrackingVolume* from a set of layers and (optional) parameters
virtual TrackingVolume * createTrackingVolume(const std::vector< Layer * > &layers, Material &matprop, VolumeBounds *volBounds=0, Amg::Transform3D *transform=0, const std::string &volumeName="UndefinedVolume", BinningType btype=arbitrary) const =0
create a TrackingVolume* from a set of layers and (optional) parameters
Base Class for a Detector Layer in the Tracking realm.
magnetic field properties to steer the behavior of the extrapolation
A common object to be contained by.
Full Volume description used in Tracking, it inherits from Volume to get the geometrical structure,...
Pure Absract Base Class for Volume bounds.
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.
BinningType
, BinningOption & BinningAccess