1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef Geometry_TrackerGeometryBuilder_PixelGeomDetType_H
#define Geometry_TrackerGeometryBuilder_PixelGeomDetType_H
#include "Geometry/CommonTopologies/interface/GeomDetType.h"
#include "Geometry/CommonTopologies/interface/PixelTopology.h"
/**
* Generic DetType for the Pixels. Specialized in SiPixelGeomDetType.
*/
class PixelGeomDetType final : public GeomDetType {
public:
using TopologyType = PixelTopology;
PixelGeomDetType(TopologyType* t, std::string const& name, SubDetector& det)
: GeomDetType(name, det), theTopology(t) {}
~PixelGeomDetType() override { delete theTopology; }
// Access to topologies
const Topology& topology() const override { return *theTopology; }
virtual const TopologyType& specificTopology() const { return *theTopology; }
PixelGeomDetType& operator=(const PixelGeomDetType& other) = delete;
PixelGeomDetType(const PixelGeomDetType& other) = delete;
private:
TopologyType* theTopology;
};
#endif // PixelGeomDetType_H
|