Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Geometry_MuonNumbering_MuonBaseNumber_h
0002 #define Geometry_MuonNumbering_MuonBaseNumber_h
0003 
0004 /** \class MuonBaseNumber
0005  *
0006  * the muon base number collects all significant copy
0007  * numbers to uniquely identify a detector unit;
0008  * the information is kept in a vector of all relevant 
0009  * LevelBaseNumber's needed to identify the detector unit;
0010  * a packed version of the MuonBaseNumber may replace 
0011  * the current numbering scheme in future
0012  *  
0013  * \author Arno Straessner, CERN <arno.straessner@cern.ch>
0014  *
0015  */
0016 
0017 #include <vector>
0018 
0019 #include "Geometry/MuonNumbering/interface/LevelBaseNumber.h"
0020 
0021 class MuonBaseNumber {
0022 public:
0023   MuonBaseNumber() {}
0024   ~MuonBaseNumber() {}
0025 
0026   void addBase(const int level, const int super, const int base);
0027   void addBase(const LevelBaseNumber&);
0028 
0029   int getLevels() const;
0030   int getSuperNo(int level) const;
0031   int getBaseNo(int level) const;
0032 
0033 protected:
0034   typedef std::vector<LevelBaseNumber> basenumber_type;
0035   basenumber_type sortedBaseNumber;
0036 };
0037 
0038 #endif