ATLAS Offline Software
Loading...
Searching...
No Matches
StripGmxInterface.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef STRIPGEOMODELXML_STRIPGMXINTERFACE_H
6#define STRIPGEOMODELXML_STRIPGMXINTERFACE_H
7
9#include <GeoModelXml/GmxInterface.h>
10
11#include <map>
12#include <string>
13
14class IRDBAccessSvc;
15class WaferTree;
16
17namespace GeoModelIO{
18 class ReadGeoModel;
19}
20
21namespace InDetDD{
24 class SiCommonItems;
25 class SiDetectorDesign;
26
27 namespace ITk{
28
29 class StripGmxInterface : public GmxInterface, public AthMessaging{
30 public:
32 SiCommonItems *commonItems,
33 WaferTree *waferTree);
34
35 virtual int sensorId(std::map<std::string, int> &index) const override final;
36 // For "artificially" adding to Identifiers; specify the field (e.g. "eta_module") and the value to add
37 virtual int splitSensorId(std::map<std::string, int> &index,
38 std::pair<std::string, int> &extraIndex,
39 std::map<std::string, int> &updatedIndex) const override final;
40 virtual void addSensorType(const std::string& clas,
41 const std::string& typeName,
42 const std::map<std::string, std::string>& parameters) override final;
43 void addSensor(const std::string& typeName,
44 std::map<std::string, int> &index,
45 int sequentialId,
46 GeoVFullPhysVol *fpv) override final;
47 void addSplitSensor(const std::string& typeName,
48 std::map<std::string, int> &index,
49 std::pair<std::string, int> &extraIndex,
50 int sequentialId,
51 GeoVFullPhysVol *fpv,
52 int splitLevel) override final;
53 virtual void addAlignable(int level,
54 std::map<std::string, int> &index,
55 GeoVFullPhysVol *fpv,
56 GeoAlignableTransform *transform) override final;
57 virtual void addSplitAlignable(int level,
58 std::map<std::string, int> &index,
59 std::pair<std::string, int> &extraIndex,
60 GeoVFullPhysVol *fpv,
61 GeoAlignableTransform *transform) override final;
62 void buildReadoutGeometryFromSqlite(IRDBAccessSvc * rdbAccessSvc, GeoModelIO::ReadGeoModel* sqlreader);
63
64 private:
65 void makeSiStripBox(const std::string& typeName,
66 const std::map<std::string, std::string> &parameters);
67 void makeStereoAnnulus(const std::string& typeName,
68 const std::map<std::string, std::string> &parameters);
69
70 std::map<std::string, const SiDetectorDesign *> m_geometryMap;
71 std::map<std::string, const SCT_ModuleSideDesign *> m_motherMap;
75 };
76 } // namespace ITk
77} // namespace InDetDD
78
79#endif // STRIPGEOMODELXML_STRIPGMXINTERFACE_H
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
void addSplitSensor(const std::string &typeName, std::map< std::string, int > &index, std::pair< std::string, int > &extraIndex, int sequentialId, GeoVFullPhysVol *fpv, int splitLevel) override final
void addSensor(const std::string &typeName, std::map< std::string, int > &index, int sequentialId, GeoVFullPhysVol *fpv) override final
void buildReadoutGeometryFromSqlite(IRDBAccessSvc *rdbAccessSvc, GeoModelIO::ReadGeoModel *sqlreader)
virtual int splitSensorId(std::map< std::string, int > &index, std::pair< std::string, int > &extraIndex, std::map< std::string, int > &updatedIndex) const override final
std::map< std::string, const SCT_ModuleSideDesign * > m_motherMap
void makeStereoAnnulus(const std::string &typeName, const std::map< std::string, std::string > &parameters)
virtual void addSplitAlignable(int level, std::map< std::string, int > &index, std::pair< std::string, int > &extraIndex, GeoVFullPhysVol *fpv, GeoAlignableTransform *transform) override final
void makeSiStripBox(const std::string &typeName, const std::map< std::string, std::string > &parameters)
std::map< std::string, const SiDetectorDesign * > m_geometryMap
SCT_DetectorManager * m_detectorManager
StripGmxInterface(SCT_DetectorManager *detectorManager, SiCommonItems *commonItems, WaferTree *waferTree)
virtual void addSensorType(const std::string &clas, const std::string &typeName, const std::map< std::string, std::string > &parameters) override final
virtual int sensorId(std::map< std::string, int > &index) const override final
virtual void addAlignable(int level, std::map< std::string, int > &index, GeoVFullPhysVol *fpv, GeoAlignableTransform *transform) override final
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
Base class for the SCT module side design, extended by the Forward and Barrel module design.
Helper class to concentrate common items, such as the pointer to the IdHelper, the lorentzAngle tool ...
Base class for the detector design classes for Pixel and SCT.
Message Stream Member.
Definition index.py:1