File indexing completed on 2024-04-06 12:19:50
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef DT_GEOM_SUPPLIER_H
0013 #define DT_GEOM_SUPPLIER_H
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0023 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0024 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0025 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0026 #include "DataFormats/MuonDetId/interface/DTChamberId.h"
0027 #include "DataFormats/MuonDetId/interface/DTLayerId.h"
0028 #include "DataFormats/MuonDetId/interface/DTSuperLayerId.h"
0029 #include "DataFormats/MuonDetId/interface/DTWireId.h"
0030 #include "Geometry/DTGeometry/interface/DTChamber.h"
0031 #include "L1Trigger/DTUtilities/interface/DTTrigData.h"
0032 #include "L1Trigger/DTUtilities/interface/DTTrigGeom.h"
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042 class DTGeomSupplier {
0043 public:
0044
0045 DTGeomSupplier(DTTrigGeom *geom) : _geom(geom) {}
0046
0047
0048 virtual ~DTGeomSupplier() {}
0049
0050
0051 inline DTTrigGeom *geom() const { return _geom; }
0052
0053
0054 inline const DTChamber *stat() const { return _geom->stat(); }
0055
0056
0057 inline DTChamberId ChamberId() const { return _geom->statId(); }
0058
0059
0060 inline int wheel() const { return _geom->wheel(); }
0061
0062
0063 inline int station() const { return _geom->station(); }
0064
0065
0066 inline int sector() const { return _geom->sector(); }
0067
0068
0069 virtual LocalPoint localPosition(const DTTrigData *) const = 0;
0070
0071
0072 virtual LocalVector localDirection(const DTTrigData *) const = 0;
0073
0074
0075 inline GlobalPoint CMSPosition(const DTTrigData *trig) const { return _geom->toGlobal(localPosition(trig)); }
0076
0077
0078 inline GlobalVector CMSDirection(const DTTrigData *trig) const { return _geom->toGlobal(localDirection(trig)); }
0079
0080
0081 virtual void print(const DTTrigData *trig) const;
0082
0083 protected:
0084 DTTrigGeom *_geom;
0085 };
0086
0087 #endif