CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/Geometry/EcalCommonData/src/EcalBaseNumber.cc

Go to the documentation of this file.
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