GeoModel - GeoModelCore
GeoNameTag.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEONAMETAG_H
6 #define GEOMODELKERNEL_GEONAMETAG_H
7 
14 #include "GeoModelKernel/GeoGraphNode.h"
15 #include <string>
16 
17 class GeoNameTag : public GeoGraphNode
18 {
19  public:
20  // Constructor for the name tag. Takes a base name.
21  GeoNameTag (const std::string &BaseName);
22 
23  // Executes a GeoNodeAction.
24  virtual void exec (GeoNodeAction *action) const;
25 
26  // Specifies the name of the next physical volume in the
27  // node tree.
28  const std::string& getName () const;
29 
30  protected:
31  virtual ~GeoNameTag();
32 
33  private:
34  GeoNameTag(const GeoNameTag &right);
35  GeoNameTag & operator=(const GeoNameTag &right);
36 
37  std::string m_name;
38 };
39 
40 inline const std::string& GeoNameTag::getName () const
41 {
42  return m_name;
43 }
44 
45 #endif
This class gives a name to the next physical volume.
Definition: GeoNameTag.h:17
This type of action sees the geometry graph in full detail, including each transformation and propert...
Definition: GeoNodeAction.h:30
Represents Nodes that can be assembled together to make a graph. Subclasses (for now): ...
Definition: GeoGraphNode.h:28