Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:36:33

0001 #ifndef Geometry_MuonNumbering_MuonGeometryNumbering_h
0002 #define Geometry_MuonNumbering_MuonGeometryNumbering_h
0003 
0004 /** \class MuonGeometryNumbering
0005  *
0006  * class to handle the conversion to MuonBaseNumber from tree of 
0007  * DDD GeoHistory;  
0008  *
0009  * in the xml muon constant section one has to define
0010  * level, super and base constants (eg. 1000,100,1) and
0011  * the start value of the copy numbers (0 or 1)  
0012  *  
0013  * \author Arno Straessner, CERN <arno.straessner@cern.ch>
0014  *
0015  */
0016 
0017 #include "DetectorDescription/Core/interface/DDExpandedNode.h"
0018 #include "DetectorDescription/DDCMS/interface/ExpandedNodes.h"
0019 #include "DetectorDescription/Core/interface/DDLogicalPart.h"
0020 
0021 class MuonBaseNumber;
0022 class MuonGeometryConstants;
0023 
0024 class MuonGeometryNumbering {
0025 public:
0026   MuonGeometryNumbering(const MuonGeometryConstants& muonConstants);
0027   ~MuonGeometryNumbering() {}
0028 
0029   MuonBaseNumber geoHistoryToBaseNumber(const DDGeoHistory& history) const;
0030   MuonBaseNumber geoHistoryToBaseNumber(const cms::ExpandedNodes&) const;
0031 
0032 private:
0033   int getInt(const std::string& s, const DDLogicalPart& part) const;
0034 
0035   int theLevelPart;
0036   int theSuperPart;
0037   int theBasePart;
0038   int theStartCopyNo;
0039 };
0040 
0041 #endif