GeoModel - GeoModelCore
GeoVFullPhysVol.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOVFULLPHYSVOL_H
6 #define GEOMODELKERNEL_GEOVFULLPHYSVOL_H
7 
8 #include "GeoModelKernel/GeoVPhysVol.h"
9 #include "GeoModelKernel/GeoAbsPositionInfo.h"
10 
11 class GeoVAlignmentStore;
12 
13 // To Do: consider dropping it from the class hierarchy?
15 {
16  public:
17  GeoVFullPhysVol(const GeoLogVol* logVol);
18 
19  GeoVFullPhysVol(const GeoVFullPhysVol &right) = delete;
20  GeoVFullPhysVol & operator=(const GeoVFullPhysVol &right) = delete;
21 
23  const GeoTrf::Transform3D& getAbsoluteTransform(GeoVAlignmentStore* store=nullptr) const;
24 
29  void clearPositionInfo() const;
30 
32  const GeoTrf::Transform3D& getDefAbsoluteTransform(GeoVAlignmentStore* store=nullptr) const;
33 
35  const std::string& getAbsoluteName();
36 
38  unsigned int getId() const;
39 
40  protected:
41  virtual ~GeoVFullPhysVol() override;
42 
43  private:
45  std::string m_absName;
46 
48  mutable Query<int> *m_id;
49 
52 
53 };
54 
55 #endif
const std::string & getAbsoluteName()
Returns the absolute name of this node.
void clearPositionInfo() const
unsigned int getId() const
Returns the identification bits.
std::string m_absName
The absolute name of this volume.
A Logical Volume, or agglomeration of shape and material. The logical volume increases the reference ...
Definition: GeoLogVol.h:20
Abstract base class for GeoModel alignment stores The interface allows to store/retrieve transformati...
const GeoTrf::Transform3D & getAbsoluteTransform(GeoVAlignmentStore *store=nullptr) const
Returns the absolute transform of the volume.
GeoAbsPositionInfo * m_absPosInfo
Information on the where this volume is, by default and after alignment corrections.
Query< int > * m_id
An identifier. This is locally cached in a full physical volume.
const GeoTrf::Transform3D & getDefAbsoluteTransform(GeoVAlignmentStore *store=nullptr) const
Returns the default absolute transform of the volume.
This class represents anything whose default and aligned postions are known and cached.