  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
    9 #ifndef TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H 
   10 #define TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H 
   13 #include "GaudiKernel/IAlgTool.h" 
   29 class MagneticFieldProperties;
 
   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;
 
  152 #endif // TRKDETDESCRINTERFACES_ITRACKINGVOLUMECREATOR_H 
  
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 ~ITrackingVolumeCreator()
Virtual destructor.
 
DeclareInterfaceID(ITrackingVolumeCreator, 1, 0)
Creates the InterfaceID and interfaceID() method.
 
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
 
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.
 
Eigen::Affine3d Transform3D
 
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
 
Ensure that the ATLAS eigen extensions are properly loaded.
 
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 * 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
 
Define macros for attributes used to control the static checker.