ATLAS Offline Software
ITrackingVolumeCreator.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 // ITrackingVolumeCreator.h, (c) ATLAS Detector software
8 
9 #ifndef TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H
10 #define TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H
11 
12 // Gaudi
13 #include "GaudiKernel/IAlgTool.h"
14 // Trk
16 // STL
17 #include <string>
18 #include <vector>
19 
22 
23 namespace Trk {
24 
25 class Layer;
26 class TrackingVolume;
27 class VolumeBounds;
28 class Material;
29 class MagneticFieldProperties;
30 
40 class ITrackingVolumeCreator : virtual public IAlgTool
41 {
42 
43 public:
46 
49 
65  const std::vector<Layer*>& layers,
66  Material& matprop,
67  VolumeBounds* volBounds = 0,
69  const std::string& volumeName = "UndefinedVolume",
70  BinningType btype = arbitrary) const = 0;
71 
84  const std::vector<Layer*>& layers,
85  Material& matprop,
86  double loc1Min,
87  double loc1Max,
88  double loc2Min,
89  double loc2Max,
90  const std::string& volumeName = "UndefinedVolume",
91  BinningType btype = arbitrary) const = 0;
92 
105  Material& matprop,
106  double loc1Min,
107  double loc1Max,
108  double loc2Min,
109  double loc2Max,
110  unsigned int materialLayers,
111  bool cylinder = true,
112  const std::string& volumeName = "UndefinedVolume") const = 0;
113 
125  Material& matprop,
126  double loc1Min,
127  double loc1Max,
128  double loc2Min,
129  double loc2Max,
130  const std::vector<double>& layerPositions,
131  bool cylinder = true,
132  const std::string& volumeName = "UndefinedVolume",
133  BinningType btype = arbitrary) const = 0;
134 
143  const std::vector<TrackingVolume*>& volumes,
144  const Material& matprop,
145  const std::string& volumeName = "UndefinedVolume",
146  bool buildBoundaryLayers = false,
147  bool replaceBoundaryFace = false) const = 0;
148 };
149 
150 } // end of namespace
151 
152 #endif // TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H
Trk::ITrackingVolumeCreator::createGapTrackingVolume
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
Trk::ITrackingVolumeCreator::~ITrackingVolumeCreator
virtual ~ITrackingVolumeCreator()
Virtual destructor.
Definition: ITrackingVolumeCreator.h:48
Trk::ITrackingVolumeCreator::DeclareInterfaceID
DeclareInterfaceID(ITrackingVolumeCreator, 1, 0)
Creates the InterfaceID and interfaceID() method.
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:114
Trk::ITrackingVolumeCreator::createTrackingVolume
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
BinningType.h
Trk::BinningType
BinningType
Definition: BinningType.h:31
Trk::ITrackingVolumeCreator::createContainerTrackingVolume
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.
python.RingerConstants.Layer
Layer
Definition: RingerConstants.py:42
Trk::arbitrary
@ arbitrary
Definition: BinningType.h:34
GeoPrimitives.h
Trk::VolumeBounds
Definition: VolumeBounds.h:45
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
Trk::ITrackingVolumeCreator
Definition: ITrackingVolumeCreator.h:41
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITrackingVolumeCreator::createTrackingVolume
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
Trk::ITrackingVolumeCreator::createGapTrackingVolume
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
Trk::Material
Definition: Material.h:116
checker_macros.h
Define macros for attributes used to control the static checker.
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Material
@ Material
Definition: MaterialTypes.h:8