ATLAS Offline Software
Loading...
Searching...
No Matches
GeoPixelTMT.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELGEOMODEL_GEOPIXELTMT_H
6#define PIXELGEOMODEL_GEOPIXELTMT_H
7
10#include "GeoModelKernel/GeoDefinitions.h"
11
12class GeoShape;
13
15
16public:
19 GeoModelIO::ReadGeoModel* sqliteReader,
20 std::shared_ptr<std::map<std::string, GeoFullPhysVol*>> mapFPV,
21 std::shared_ptr<std::map<std::string, GeoAlignableTransform*>> mapAX);
22 virtual ~GeoPixelTMT() = default;
23 virtual GeoVPhysVol* Build() override;
24 virtual GeoVPhysVol* getPhysVol () override {return m_physVol;}
25 virtual const GeoTrf::Transform3D & transform() const override {return m_transform;}
26 virtual double thicknessP() const override {return 0;} // Use ladder thickness from database
27 virtual double thicknessN() const override {return 0;} // Use ladder thickness from database
28 virtual GeoSimplePolygonBrep* computeStaveEnvelopShape(double) override { return 0;}
29 virtual GeoVPhysVol* getEndblockEnvelopShape(int) override {return 0;}
30 virtual GeoTransform* getEndblockEnvelopShapeTrf(int) override {return 0;}
31 virtual double getEndblockZpos() const override { return 0.; }
32 virtual double getServiceZpos() const override { return 0; }
33 virtual double getEndblockLength() const override { return 0.; }
34 virtual void computeStaveEnvelopTransformAndSize(double ,double, double, double, double, double) override {};
35
36 virtual int PixelNModule() const override {return 0;}
37 virtual int PixelNPlanarModule() const override {return 0;}
38 virtual int PixelN3DModule() const override {return 0;}
39
40private:
41 const GeoShape * addShape(const GeoShape * lastShape, const GeoShape * nextShape, const GeoTrf::Transform3D & trans);
42
43 PVLink m_physVol{nullptr};
44 GeoTrf::Transform3D m_transform;
45};
46
47#endif
48
49
50
virtual double getServiceZpos() const override
Definition GeoPixelTMT.h:32
virtual void computeStaveEnvelopTransformAndSize(double, double, double, double, double, double) override
Definition GeoPixelTMT.h:34
GeoTrf::Transform3D m_transform
Definition GeoPixelTMT.h:44
virtual int PixelN3DModule() const override
Definition GeoPixelTMT.h:38
virtual GeoVPhysVol * getPhysVol() override
Definition GeoPixelTMT.h:24
virtual double thicknessN() const override
Definition GeoPixelTMT.h:27
virtual ~GeoPixelTMT()=default
virtual GeoTransform * getEndblockEnvelopShapeTrf(int) override
Definition GeoPixelTMT.h:30
PVLink m_physVol
Definition GeoPixelTMT.h:43
virtual int PixelNPlanarModule() const override
Definition GeoPixelTMT.h:37
virtual GeoSimplePolygonBrep * computeStaveEnvelopShape(double) override
Definition GeoPixelTMT.h:28
virtual double getEndblockLength() const override
Definition GeoPixelTMT.h:33
virtual const GeoTrf::Transform3D & transform() const override
Definition GeoPixelTMT.h:25
const GeoShape * addShape(const GeoShape *lastShape, const GeoShape *nextShape, const GeoTrf::Transform3D &trans)
GeoPixelTMT(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)
virtual GeoVPhysVol * getEndblockEnvelopShape(int) override
Definition GeoPixelTMT.h:29
virtual int PixelNModule() const override
Definition GeoPixelTMT.h:36
virtual GeoVPhysVol * Build() override
virtual double thicknessP() const override
Definition GeoPixelTMT.h:26
virtual double getEndblockZpos() const override
Definition GeoPixelTMT.h:31
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...