/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Geometry/GEMGeometry/interface/GEMEtaPartition.h
92 строки
3 KB
Shahzad Malik Muzaffar
[GEOMETRY] Drop Geometry/CommonDetUnit package
28 май 2026, 13:09
28 май 2026, 13:09
bcab810
Код
Авторство
О чём код?
#ifndef Geometry_GEMGeometry_GEMEtaPartition_H #define Geometry_GEMGeometry_GEMEtaPartition_H #include "Geometry/CommonTopologies/interface/GeomDet.h" #include "Geometry/CommonTopologies/interface/GeomDetType.h" #include "DataFormats/MuonDetId/interface/GEMDetId.h" #include "DataFormats/GeometryVector/interface/GlobalPoint.h" class StripTopology; class GEMEtaPartitionSpecs; class GEMEtaPartition : public GeomDet { public: GEMEtaPartition(GEMDetId id, const BoundPlane::BoundPlanePointer& bp, GEMEtaPartitionSpecs* rrs); ~GEMEtaPartition() override; const GEMEtaPartitionSpecs* specs() const { return specs_; } GEMDetId id() const { return id_; } const Topology& topology() const override; const StripTopology& specificTopology() const; const Topology& padTopology() const; const StripTopology& specificPadTopology() const; const GeomDetType& type() const override; // strip-related methods: /// number of readout strips in partition int nstrips() const; /// returns center of strip position for INTEGER strip number /// that has a value range of [0, nstrip-1] LocalPoint centreOfStrip(int strip) const; /// returns center of strip position for FRACTIONAL strip number /// that has a value range of [0.0, nstrip) LocalPoint centreOfStrip(float strip) const; LocalError localError(float strip, float cluster_size = 1.) const; /// returns fractional strip number [0.0, nstrips) for a LocalPoint /// E.g., if local point hit strip #2, the fractional strip number would be /// somewhere in the [2.0, 3.0) interval float strip(const LocalPoint& lp) const; float pitch() const; float localPitch(const LocalPoint& lp) const; // GEM-CSC pad-related methods: /// number of GEM-CSC trigger readout pads in partition int npads() const; /// returns center of pad position for INTEGER pad number /// that has a value range of [0, npads-1] LocalPoint centreOfPad(int pad) const; /// returns center of pad position for FRACTIONAL pad number /// that has a value range of [0., npads) LocalPoint centreOfPad(float pad) const; /// returns FRACTIONAL pad number [0.,npads) for a point float pad(const LocalPoint& lp) const; /// pad pitch in a center float padPitch() const; /// pad pitch at a particular point float localPadPitch(const LocalPoint& lp) const; // relations between strips and pads: /// returns FRACTIONAL pad number [0.,npads) for an integer strip [0,nstrip-1] float padOfStrip(int strip) const; /// returns first strip (INT number [0,nstrip-1]) for pad (an integer [0,npads-1]) int firstStripInPad(int pad) const; /// returns last strip (INT number [0,nstrip-1]) for pad (an integer [0,npads-1]) int lastStripInPad(int pad) const; // subsystem GEMSubDetId::Station subsystem() const; bool isME0() const; bool isGE11() const; bool isGE21() const; private: GEMDetId id_; GEMEtaPartitionSpecs* specs_; }; #endif