00001 #include "Geometry/EcalCommonData/interface/EcalBaseNumber.h" 00002 00003 EcalBaseNumber::EcalBaseNumber():_theLevels(0) { } 00004 00005 EcalBaseNumber::EcalBaseNumber(const EcalBaseNumber & aBaseNumber): 00006 _sortedName(aBaseNumber._sortedName), 00007 _sortedCopyNumber(aBaseNumber._sortedCopyNumber), 00008 _theLevels(aBaseNumber._theLevels) { } 00009 00010 void EcalBaseNumber::setSize(const int & size) { 00011 _sortedName.resize(size); 00012 _sortedCopyNumber.resize(size); 00013 } 00014 00015 void EcalBaseNumber::addLevel(const std::string& name, const int & copyNumber) 00016 { 00017 _sortedName[_theLevels] = name; 00018 _sortedCopyNumber[_theLevels] = copyNumber; 00019 _theLevels++; 00020 } 00021 00022 int EcalBaseNumber::getLevels() const 00023 { 00024 return _theLevels; 00025 } 00026 00027 int EcalBaseNumber::getCopyNumber(int level) const 00028 { 00029 return _sortedCopyNumber[level]; 00030 } 00031 00032 int EcalBaseNumber::getCopyNumber(const std::string& levelName) const 00033 { 00034 for ( int iLevel = 0; iLevel < _theLevels; iLevel++ ) { 00035 if ( _sortedName[iLevel] == levelName ) { return _sortedCopyNumber[iLevel]; } 00036 } 00037 return 0; 00038 } 00039 00040 std::string const & EcalBaseNumber::getLevelName(int level) const 00041 { 00042 return _sortedName[level]; 00043 } 00044 00045 int EcalBaseNumber::getCapacity() 00046 { 00047 return _sortedName.capacity(); 00048 } 00049 00050 void EcalBaseNumber::reset() 00051 { 00052 _theLevels = 0; 00053 } 00054