Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:38

0001 /****************************************************************************
0002 *
0003 * This is a part of TOTEM offline software.
0004 * Author:
0005 *   Laurent Forthomme
0006 *
0007 ****************************************************************************/
0008 
0009 #ifndef Geometry_ForwardGeometry_TotemGeometry_h
0010 #define Geometry_ForwardGeometry_TotemGeometry_h
0011 
0012 #include "Geometry/ForwardGeometry/interface/TotemT2Tile.h"
0013 #include "Geometry/VeryForwardGeometryBuilder/interface/DetGeomDesc.h"
0014 
0015 #include "DataFormats/CTPPSDetId/interface/TotemT2DetId.h"
0016 
0017 class TotemGeometry {
0018 public:
0019   TotemGeometry(const DetGeomDesc*);
0020 
0021   bool addT2Plane(const TotemT2DetId&, const DetGeomDesc*&);
0022   bool addT2Tile(const TotemT2DetId&, const DetGeomDesc*&);
0023 
0024   const DetGeomDesc* plane(const TotemT2DetId&) const;
0025   const TotemT2Tile& tile(const TotemT2DetId&) const;
0026 
0027 private:
0028   void browse(const DetGeomDesc*, bool in_t2);
0029   void browseT2(const DetGeomDesc*&);
0030 
0031   std::map<TotemT2DetId, const DetGeomDesc*> nt2_planes_;
0032   std::map<TotemT2DetId, TotemT2Tile> nt2_tiles_;
0033 };
0034 
0035 #endif