Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CSCGeometryBuilder_CSCGeometryBuilder_h
0002 #define CSCGeometryBuilder_CSCGeometryBuilder_h
0003 
0004 /** \class CSCGeometryBuilder
0005  *
0006  *  Build the CSCGeometry from the DDD description.
0007  *
0008  *  \author Tim Cox
0009  */
0010 
0011 #include <DataFormats/MuonDetId/interface/CSCDetId.h>
0012 #include <Geometry/CSCGeometry/interface/CSCWireGroupPackage.h>
0013 #include <CondFormats/GeometryObjects/interface/CSCRecoDigiParameters.h>
0014 #include <CondFormats/GeometryObjects/interface/RecoIdealGeometry.h>
0015 
0016 #include <string>
0017 
0018 class CSCGeometry;
0019 
0020 class CSCGeometryBuilder {
0021 public:
0022   /// Constructor
0023   CSCGeometryBuilder();
0024 
0025   /// Destructor
0026   virtual ~CSCGeometryBuilder();
0027 
0028   /// Build the geometry
0029   void build(CSCGeometry& theGeometry, const RecoIdealGeometry& rig, const CSCRecoDigiParameters& cscpars);
0030 
0031 private:
0032   /// Build one CSC chamber, and its component layers, and add them to the geometry
0033   void buildChamber(CSCGeometry& theGeometry,         // the geometry container
0034                     CSCDetId chamberId,               // the DetId of this chamber
0035                     const std::vector<float>& fpar,   // volume parameters
0036                     const std::vector<float>& fupar,  // user parameters
0037                     const std::vector<float>& gtran,  // translation vector
0038                     const std::vector<float>& grmat,  // rotation matrix
0039                     const CSCWireGroupPackage& wg     // wire group info
0040   );
0041 
0042   const std::string myName;
0043 };
0044 #endif