ATLAS Offline Software
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 
13 class GeoLogVol;
14 
15 namespace 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
GeoPixelSiCrystal::m_id
Identifier m_id
Definition: GeoPixelSiCrystal.h:30
PixelGeometryManager
Definition: PixelGeometryManager.h:28
GeoPixelSiCrystal::m_isModule3D
bool m_isModule3D
Definition: GeoPixelSiCrystal.h:41
GeoPixelSiCrystal::Build
virtual GeoVPhysVol * Build() override
Definition: GeoPixelSiCrystal.cxx:179
BchCleanup.mgr
mgr
Definition: BchCleanup.py:294
GeoPixelSiCrystal
Definition: GeoPixelSiCrystal.h:19
GeoPixelSiCrystal::m_nPhiDesigns
unsigned int m_nPhiDesigns
Definition: GeoPixelSiCrystal.h:38
GeoPixelSiCrystal::GeoPixelSiCrystal
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)
Definition: GeoPixelSiCrystal.cxx:44
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
GeoVPixelFactory.h
GeoPixelSiCrystal::GetModule3DFlag
bool GetModule3DFlag()
Definition: GeoPixelSiCrystal.h:30
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
GeoPixelSiCrystal::m_design
std::array< const InDetDD::SiDetectorDesign *, 2 > m_design
Definition: GeoPixelSiCrystal.h:39
GeoVPixelFactory
This is the base class for all the pieces of the Pixel detector.
Definition: GeoVPixelFactory.h:31
GeoPixelSiCrystal::getID
Identifier getID()
Definition: GeoPixelSiCrystal.h:28
GeoPixelSiCrystal::m_isBLayer
bool m_isBLayer
Definition: GeoPixelSiCrystal.h:40
Identifier
Definition: IdentifierFieldParser.cxx:14