ATLAS Offline Software
Loading...
Searching...
No Matches
GeoPixelSiCrystal.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELGEOMODEL_GEOPIXELSICRYSTAL_H
6#define PIXELGEOMODEL_GEOPIXELSICRYSTAL_H
7
8#include "Identifier/Identifier.h"
9#include "GeoVPixelFactory.h"
10
11#include <memory>
12
13class GeoLogVol;
14
15namespace InDetDD {
16 class SiDetectorDesign;
17}
18
20 public:
23 GeoModelIO::ReadGeoModel* sqliteReader,
24 std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
25 std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX,
26 bool isBLayer, bool isModule3D=false, bool even_odd_phi_design=false);
27 virtual GeoVPhysVol* Build() override;
28 inline Identifier getID() {return m_id;}
29
30 bool GetModule3DFlag() { return m_isModule3D; };
31
32 private:
34 // Cache for multiple phi designs.
35 // The first element will hold the design for modules with either even or event+odd phi indices.
36 // If there are more than one designs than the second element will hold the design for modules
37 // with odd phi index.
38 unsigned int m_nPhiDesigns=1;
39 std::array<const InDetDD::SiDetectorDesign*,2> m_design{nullptr,nullptr};
40 bool m_isBLayer = false;
41 bool m_isModule3D = false;
42};
43
44#endif
unsigned int m_nPhiDesigns
std::array< const InDetDD::SiDetectorDesign *, 2 > m_design
virtual GeoVPhysVol * Build() override
GeoPixelSiCrystal(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX, bool isBLayer, bool isModule3D=false, bool even_odd_phi_design=false)
GeoVPixelFactory(InDetDD::PixelDetectorManager *ddmgr, PixelGeometryManager *mgr, GeoModelIO::ReadGeoModel *sqliteReader, std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > mapFPV, std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > mapAX)
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Base class for the detector design classes for Pixel and SCT.
Message Stream Member.