CMS 3D CMS Logo

AlignableObjectId.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignableObjectId_h
2 #define Alignment_CommonAlignment_AlignableObjectId_h
3 
4 #include <string>
6 
7 class TrackerGeometry;
8 class DTGeometry;
9 class CSCGeometry;
10 class AlignableTracker;
11 class AlignableMuon;
12 
13 
16 {
17 public:
18  struct entry;
20 
23  AlignableObjectId(const AlignableObjectId&) = default;
27  virtual ~AlignableObjectId() = default;
28 
30  Geometry geometry() const { return geometry_; }
31 
34 
37  const char *idToString(align::StructureType type) const;
38  align::StructureType stringToId(const char*) const;
40  return stringToId(s.c_str()); }
41 
44  const AlignableObjectId&);
46  const AlignableMuon*);
47 
48 private:
50  static Geometry muonGeometry(const DTGeometry*, const CSCGeometry*);
51 
52  const entry* entries_{nullptr};
54 };
55 
56 
57 #endif
static Geometry trackerGeometry(const TrackerGeometry *)
type
Definition: HCALResponse.h:21
align::StructureType stringToId(const char *) const
static Geometry commonGeometry(Geometry, Geometry)
std::string typeToName(align::StructureType type) const
Convert type to name.
static AlignableObjectId commonObjectIdProvider(const AlignableObjectId &, const AlignableObjectId &)
align::StructureType stringToId(const std::string &s) const
static Geometry muonGeometry(const DTGeometry *, const CSCGeometry *)
Allows conversion between type and name, and vice-versa.
Geometry geometry() const
retrieve the geometry information
const entry * entries_
AlignableObjectId & operator=(const AlignableObjectId &)=default
virtual ~AlignableObjectId()=default
const char * idToString(align::StructureType type) const
align::StructureType nameToType(const std::string &name) const
Convert name to type.
Constructor of the full muon geometry.
Definition: AlignableMuon.h:37