ATLAS Offline Software
TopLevelPlacements.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETGEOMODELUTILS_TOPLEVELPLACEMENTS_H
6 #define INDETGEOMODELUTILS_TOPLEVELPLACEMENTS_H
7 
10 #include "GeoModelKernel/GeoDefinitions.h"
11 
12 #include <map>
13 #include <string>
14 
15 class IRDBRecord;
16 
18 {
19 
20 public:
21 
22  TopLevelPlacements(const IRDBRecordset_ptr& topLevelTable);
24 
25  bool present(const std::string & partName) const;
26  const GeoTrf::Transform3D & transform(const std::string & partName) const;
27 
28 
29 private:
30 
31  class Part {
32  public:
33  std::string label;
35  };
36 
37  void fillPlacements(const IRDBRecordset_ptr& topLevelTable);
38  GeoTrf::Transform3D partTransform(const IRDBRecord* record) const;
39  Part * getPart(const std::string & partName) const;
40 
41  std::map<std::string, Part *> m_parts;
43 
45 };
46 
47 #endif // INDETGEOMODELUTILS_TOPLEVELPLACEMENTS_H
TopLevelPlacements
Definition: TopLevelPlacements.h:18
TopLevelPlacements::transform
const GeoTrf::Transform3D & transform(const std::string &partName) const
Definition: TopLevelPlacements.cxx:26
TopLevelPlacements::m_parts
std::map< std::string, Part * > m_parts
Definition: TopLevelPlacements.h:41
TopLevelPlacements::s_identityTransform
static const GeoTrf::Transform3D s_identityTransform
Definition: TopLevelPlacements.h:44
TopLevelPlacements::partTransform
GeoTrf::Transform3D partTransform(const IRDBRecord *record) const
Definition: TopLevelPlacements.cxx:63
TopLevelPlacements::present
bool present(const std::string &partName) const
Definition: TopLevelPlacements.cxx:35
GeoPrimitives.h
TopLevelPlacements::TopLevelPlacements
TopLevelPlacements(const IRDBRecordset_ptr &topLevelTable)
Definition: TopLevelPlacements.cxx:15
TopLevelPlacements::m_noTopLevelTable
bool m_noTopLevelTable
Definition: TopLevelPlacements.h:42
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
TopLevelPlacements::Part
Definition: TopLevelPlacements.h:31
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
TopLevelPlacements::~TopLevelPlacements
~TopLevelPlacements()
Definition: TopLevelPlacements.cxx:20
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
TopLevelPlacements::fillPlacements
void fillPlacements(const IRDBRecordset_ptr &topLevelTable)
Definition: TopLevelPlacements.cxx:43
IRDBRecord
IRDBRecord is one record in the IRDBRecordset object.
Definition: IRDBRecord.h:27
TopLevelPlacements::getPart
Part * getPart(const std::string &partName) const
Definition: TopLevelPlacements.cxx:119
TopLevelPlacements::Part::transform
GeoTrf::Transform3D transform
Definition: TopLevelPlacements.h:34
TopLevelPlacements::Part::label
std::string label
Definition: TopLevelPlacements.h:33