CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/CondFormats/DTObjects/interface/DTLVStatus.h

Go to the documentation of this file.
00001 #ifndef DTLVStatus_H
00002 #define DTLVStatus_H
00003 
00014 //----------------------
00015 // Base Class Headers --
00016 //----------------------
00017 
00018 
00019 //------------------------------------
00020 // Collaborating Class Declarations --
00021 //------------------------------------
00022 #include "CondFormats/DTObjects/interface/DTBufferTree.h"
00023 class DTChamberId;
00024 
00025 //---------------
00026 // C++ Headers --
00027 //---------------
00028 #include <string>
00029 #include <vector>
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 class DTLVStatusId {
00036 
00037  public:
00038 
00039   DTLVStatusId();
00040   ~DTLVStatusId();
00041 
00042   int   wheelId;
00043   int stationId;
00044   int  sectorId;
00045 
00046 };
00047 
00048 
00049 class DTLVStatusData {
00050 
00051  public:
00052 
00053   DTLVStatusData();
00054   ~DTLVStatusData();
00055 
00056   int flagCFE;
00057   int flagDFE;
00058   int flagCMC;
00059   int flagDMC;
00060 
00061 };
00062 
00063 
00064 class DTLVStatus {
00065 
00066  public:
00067 
00070   DTLVStatus();
00071   DTLVStatus( const std::string& version );
00072 
00075   ~DTLVStatus();
00076 
00079 
00080   int get( int   wheelId,
00081            int stationId,
00082            int  sectorId,
00083            int&  flagCFE,
00084            int&  flagDFE,
00085            int&  flagCMC,
00086            int&  flagDMC ) const;
00087   int get( const DTChamberId& id,
00088            int&  flagCFE,
00089            int&  flagDFE,
00090            int&  flagCMC,
00091            int&  flagDMC ) const;
00093   const
00094   std::string& version() const;
00095   std::string& version();
00096 
00098   void clear();
00099 
00100   int set( int   wheelId,
00101            int stationId,
00102            int  sectorId,
00103            int   flagCFE,
00104            int   flagDFE,
00105            int   flagCMC,
00106            int   flagDMC );
00107   int set( const DTChamberId& id,
00108            int   flagCFE,
00109            int   flagDFE,
00110            int   flagCMC,
00111            int   flagDMC );
00112   int setFlagCFE( int   wheelId,
00113                   int stationId,
00114                   int  sectorId,
00115                   int      flag );
00116   int setFlagCFE( const DTChamberId& id,
00117                   int   flag );
00118   int setFlagDFE( int   wheelId,
00119                   int stationId,
00120                   int  sectorId,
00121                   int      flag );
00122   int setFlagDFE( const DTChamberId& id,
00123                   int   flag );
00124   int setFlagCMC( int   wheelId,
00125                   int stationId,
00126                   int  sectorId,
00127                   int      flag );
00128   int setFlagCMC( const DTChamberId& id,
00129                   int   flag );
00130   int setFlagDMC( int   wheelId,
00131                   int stationId,
00132                   int  sectorId,
00133                   int      flag );
00134   int setFlagDMC( const DTChamberId& id,
00135                   int   flag );
00136 
00138   typedef std::vector< std::pair<DTLVStatusId,
00139                                  DTLVStatusData> >::const_iterator
00140                                                     const_iterator;
00141   const_iterator begin() const;
00142   const_iterator end() const;
00143 
00144  private:
00145 
00146   std::string dataVersion;
00147 
00148   std::vector< std::pair<DTLVStatusId,DTLVStatusData> > dataList;
00149 
00150   DTBufferTree<int,int>* dBuf;
00151 
00153   void cacheMap() const;
00154   std::string mapName() const;
00155 
00156 };
00157 
00158 
00159 #endif // DTLVStatus_H
00160