  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
    9 #ifndef TRKGEOMETRY_TRACKINGGEOMETRY_H 
   10 #define TRKGEOMETRY_TRACKINGGEOMETRY_H 
   32 class MuonTrackingGeometryBuilderCond;
 
   50 class MaterialProperties;
 
   90   std::vector<const Trk::DetachedTrackingVolume*>
 
  106                          bool skipNavLayer = 
false) 
const;
 
  142   void dump(MsgStream& 
out, 
const std::string& 
head) 
const;
 
  145   void addToGarbage(std::vector<std::unique_ptr<Trk::DetachedTrackingVolume>>&& garbageVec);
 
  146   void addToGarbage(std::vector<std::unique_ptr<Trk::TrackingVolume>>&& garbageVec);
 
  182                         const std::string& 
head,
 
  211 #include "AthenaKernel/CondCont.h" 
  214 #endif // TRKGEOMETRY_TRACKINGGEOMETRY_H 
  
TrackingVolume * m_world
The known world - and the beam.
 
static bool atVolumeBoundary(const Amg::Vector3D &gp, const TrackingVolume *vol, double tol)
check position at volume boundary
 
std::map< Layer *, int > m_boundaryLayers
The unique boundary Layers.
 
size_t numBoundaryLayers() const
 
void dump(MsgStream &out, const std::string &head) const
 
void registerTrackingVolumes(TrackingVolume &tvol, TrackingVolume *mvol=nullptr, int lvl=0)
private method to register recursively the tracking volumes
 
virtual ~TrackingGeometry()
Destructor.
 
const Layer * nextLayer(const Amg::Vector3D &gp, const Amg::Vector3D &mom, bool skipNavLayer=false) const
Forward the next Layer information.
 
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
 
std::vector< std::unique_ptr< TrackingVolume > > m_trkVolumeGarbage
 
void synchronizeLayers(MsgStream &msgstream, TrackingVolume *vol=nullptr)
Geometry Builder business: synchronize all layers to enclosed volume dimensions.
 
static void dumpLayer(MsgStream &out, const std::string &head, const Layer *layer)
 
const TrackingVolume * highestTrackingVolume() const
return the world
 
LayerIntersection< Amg::Vector3D > closestMaterialLayer(const T &pars, PropDirection pDir=Trk::alongMomentum, const BoundaryCheck &bchk=true) const
Closest Material Layer - used for the mapping option.
 
auto boundaryLayers() const
 
const TrackingVolume * lowestStaticTrackingVolume(const Amg::Vector3D &gp) const
return the lowest static tracking Volume
 
void addToGarbage(std::vector< std::unique_ptr< Trk::DetachedTrackingVolume >> &&garbageVec)
 
void compactify(MsgStream &msgstream, TrackingVolume *vol=nullptr)
Geometry Builder busineess: set all contained surfaces TG owned - this should save memory and avoid s...
 
void sign(GeometrySignature geosit, GeometryType geotype=Static)
Geometry Builder busineess: the geometry builder has to sign.
 
void indexStaticLayers(GeometrySignature geosit, int offset=0)
indexLayers : method to re-set the index of the layers, depending on geometrySignature
 
std::string head(std::string s, const std::string &pattern)
head of a string
 
Ensure that the ATLAS eigen extensions are properly loaded.
 
TrackingGeometry(TrackingVolume *highestVolume, NavigationLevel navlevel=globalSearch)
Constructor.
 
void registerNavigationLevel(NavigationLevel navlevel)
private method the Navigation Level
 
void printVolumeHierarchy(MsgStream &msgstream) const
Print the summary of volume Hierarchy of the TrackingGeometry.
 
NavigationLevel m_navigationLevel
The Navigation level for identification.
 
Eigen::Matrix< double, 3, 1 > Vector3D
 
const std::map< Layer *, int > & boundaryLayers()
Return the unique BoundarySurfaces with MaterialInformation.
 
std::vector< std::unique_ptr< DetachedTrackingVolume > > m_detachedVolGarbage
In some cases the Tracking Geometry needs to keep certain objectss alive delete them at the end of it...
 
TrackingVolume * highestTrackingVolume()
 
std::vector< const Trk::DetachedTrackingVolume * > lowestDetachedTrackingVolumes(const Amg::Vector3D &gp) const
return the vector of lowest detached tracking Volume(->overlaps)
 
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
 
TrackingVolume * checkoutHighestTrackingVolume()
private method to be called from GeometryBuilder: return the world with ownership
 
const TrackingVolume * trackingVolume(const std::string &name) const
return the tracking Volume by name, 0 if it doesn't exist
 
const TrackingVolume * lowestTrackingVolume(const Amg::Vector3D &gp) const
return the lowest tracking Volume
 
void printVolumeInformation(MsgStream &msgstream, const TrackingVolume &tvol, int lvl) const
print VolumeInformation with Level
 
Class extension to return the object, a represenation & the result.
 
CONDCONT_MIXED_DEF(Trk::TrackingGeometry, 119021535)
 
const Layer * associatedLayer(const Amg::Vector3D &gp) const
Forward the associated Layer information.
 
Define macros for attributes used to control the static checker.
 
macros to associate a CLID to a type
 
NavigationLevel navigationLevel() const
Return the Navigation Level - only one TrackingGeometry can have full association to GeoModel.
 
std::map< const std::string, const TrackingVolume * > m_trackingVolumes
The Volumes in a map for later finding.