ATLAS Offline Software
PixelGmxInterface.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 PIXELGEOMODELXML_PIXELGMXINTERFACE_H
6 #define PIXELGEOMODELXML_PIXELGMXINTERFACE_H
7 
9 #include <GeoModelXml/GmxInterface.h>
10 
11 #include <map>
12 #include <string>
13 
14 class IRDBAccessSvc;
15 class WaferTree;
16 
17 namespace GeoModelIO{
18  class ReadGeoModel;
19 }
20 
21 namespace InDetDD {
22 
23 class PixelDetectorManager;
24 class PixelDiodeMatrix;
25 class SiCommonItems;
26 class SiDetectorDesign;
27 
28 namespace ITk
29 {
30 class PixelGmxInterface : public GmxInterface, public AthMessaging
31 {
32 public:
33  PixelGmxInterface(PixelDetectorManager *detectorManager,
34  SiCommonItems *commonItems,
35  WaferTree *moduleTree);
36 
37  virtual int sensorId(std::map<std::string, int> &index) const override;
38  virtual void addSensorType(const std::string& clas,
39  const std::string& typeName,
40  const std::map<std::string, std::string>& parameters) override;
41  virtual void addSensor(const std::string& typeName,
42  std::map<std::string, int> &index,
43  int sequentialId,
44  GeoVFullPhysVol *fpv) override;
45  virtual void addAlignable(int level,
46  std::map<std::string, int> &index,
47  GeoVFullPhysVol *fpv,
48  GeoAlignableTransform *transform) override final;
49 
50  std::shared_ptr<const PixelDiodeMatrix> buildMatrix(double phiPitch, double etaPitch,
51  double phiPitchLong, double phiPitchEnd,
52  double etaPitchLong, double etaPitchEnd,
53  int nPhiLong, int nPhiEnd,
54  int nEtaLong, int nEtaEnd,
55  int circuitsPhi, int circuitsEta,
56  int diodeColPerCirc, int diodeRowPerCirc) const;
57 
58  void buildReadoutGeometryFromSqlite(IRDBAccessSvc * rdbAccessSvc, GeoModelIO::ReadGeoModel* sqlreader);
59 
60 protected:
61  std::map<std::string, int> m_geometryMap;
62 
63  void makePixelModule(const std::string& typeName,
64  const std::map<std::string, std::string> &parameters);
65 
69 };
70 
71 } // namespace ITk
72 } // namespace InDetDD
73 
74 #endif // PIXELGEOMODELXML_PIXELGMXINTERFACE_H
InDetDD::ITk::PixelGmxInterface
Definition: PixelGmxInterface.h:31
index
Definition: index.py:1
InDetDD::ITk::PixelGmxInterface::addAlignable
virtual void addAlignable(int level, std::map< std::string, int > &index, GeoVFullPhysVol *fpv, GeoAlignableTransform *transform) override final
Definition: PixelGmxInterface.cxx:504
InDetDD::ITk::PixelGmxInterface::m_moduleTree
WaferTree * m_moduleTree
Definition: PixelGmxInterface.h:68
InDetDD::ITk::PixelGmxInterface::m_geometryMap
std::map< std::string, int > m_geometryMap
Definition: PixelGmxInterface.h:61
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
InDetDD::ITk::PixelGmxInterface::sensorId
virtual int sensorId(std::map< std::string, int > &index) const override
Definition: PixelGmxInterface.cxx:44
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
InDetDD::ITk::PixelGmxInterface::buildReadoutGeometryFromSqlite
void buildReadoutGeometryFromSqlite(IRDBAccessSvc *rdbAccessSvc, GeoModelIO::ReadGeoModel *sqlreader)
Definition: PixelGmxInterface.cxx:439
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
InDetDD::ITk::PixelGmxInterface::m_commonItems
SiCommonItems * m_commonItems
Definition: PixelGmxInterface.h:67
InDetDD::ITk::PixelGmxInterface::PixelGmxInterface
PixelGmxInterface(PixelDetectorManager *detectorManager, SiCommonItems *commonItems, WaferTree *moduleTree)
Definition: PixelGmxInterface.cxx:34
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
ITk
Definition: ITkPixelOfflineCalibCondAlg.cxx:14
GeoModelIO
Definition: IGeoDbTagSvc.h:12
InDetDD::SiCommonItems
Definition: SiCommonItems.h:45
InDetDD::ITk::PixelGmxInterface::makePixelModule
void makePixelModule(const std::string &typeName, const std::map< std::string, std::string > &parameters)
Definition: PixelGmxInterface.cxx:102
InDetDD::ITk::PixelGmxInterface::buildMatrix
std::shared_ptr< const PixelDiodeMatrix > buildMatrix(double phiPitch, double etaPitch, double phiPitchLong, double phiPitchEnd, double etaPitchLong, double etaPitchEnd, int nPhiLong, int nPhiEnd, int nEtaLong, int nEtaEnd, int circuitsPhi, int circuitsEta, int diodeColPerCirc, int diodeRowPerCirc) const
Definition: PixelGmxInterface.cxx:264
InDetDD::ITk::PixelGmxInterface::m_detectorManager
PixelDetectorManager * m_detectorManager
Definition: PixelGmxInterface.h:66
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
AthMessaging.h
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
InDetDD::ITk::PixelGmxInterface::addSensorType
virtual void addSensorType(const std::string &clas, const std::string &typeName, const std::map< std::string, std::string > &parameters) override
Definition: PixelGmxInterface.cxx:87
InDetDD::ITk::PixelGmxInterface::addSensor
virtual void addSensor(const std::string &typeName, std::map< std::string, int > &index, int sequentialId, GeoVFullPhysVol *fpv) override
Definition: PixelGmxInterface.cxx:195
WaferTree
Definition: WaferTree.h:74