ATLAS Offline Software
Loading...
Searching...
No Matches
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
15class IRDBRecord;
16
18{
19
20public:
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
29private:
30
31 class Part {
32 public:
33 std::string label;
34 GeoTrf::Transform3D transform;
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
44 static const GeoTrf::Transform3D s_identityTransform;
45};
46
47#endif // INDETGEOMODELUTILS_TOPLEVELPLACEMENTS_H
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
IRDBRecord is one record in the IRDBRecordset object.
Definition IRDBRecord.h:27
GeoTrf::Transform3D transform
GeoTrf::Transform3D partTransform(const IRDBRecord *record) const
Part * getPart(const std::string &partName) const
static const GeoTrf::Transform3D s_identityTransform
const GeoTrf::Transform3D & transform(const std::string &partName) const
std::map< std::string, Part * > m_parts
TopLevelPlacements(const IRDBRecordset_ptr &topLevelTable)
void fillPlacements(const IRDBRecordset_ptr &topLevelTable)
bool present(const std::string &partName) const