CMS 3D CMS Logo

DTDeadFlag.h

Go to the documentation of this file.
00001 #ifndef DTDeadFlag_H
00002 #define DTDeadFlag_H
00003 
00014 //----------------------
00015 // Base Class Headers --
00016 //----------------------
00017 
00018 
00019 //------------------------------------
00020 // Collaborating Class Declarations --
00021 //------------------------------------
00022 #include "DataFormats/MuonDetId/interface/DTWireId.h"
00023 
00024 //---------------
00025 // C++ Headers --
00026 //---------------
00027 #include <string>
00028 #include <vector>
00029 
00030 //              ---------------------
00031 //              -- Class Interface --
00032 //              ---------------------
00033 
00034 class DTDeadFlagId {
00035 
00036  public:
00037 
00038   DTDeadFlagId();
00039   ~DTDeadFlagId();
00040 
00041   int   wheelId;
00042   int stationId;
00043   int  sectorId;
00044   int      slId;
00045   int   layerId;
00046   int    cellId;
00047 
00048 };
00049 
00050 
00051 class DTDeadFlagData {
00052 
00053  public:
00054 
00055   DTDeadFlagData();
00056   ~DTDeadFlagData();
00057 
00058   bool dead_HV;
00059   bool dead_TP;
00060   bool dead_RO;
00061   bool discCat;
00062 
00063 };
00064 
00065 
00066 class DTDeadFlag {
00067 
00068  public:
00069 
00072   DTDeadFlag();
00073   DTDeadFlag( const std::string& version );
00074 
00077   ~DTDeadFlag();
00078 
00081 
00082   int cellStatus( int   wheelId,
00083                   int stationId,
00084                   int  sectorId,
00085                   int      slId,
00086                   int   layerId,
00087                   int    cellId,
00088                   bool& dead_HV,
00089                   bool& dead_TP,
00090                   bool& dead_RO,
00091                   bool& discCat ) const
00092       { return get( wheelId, stationId, sectorId, slId, layerId, cellId, 
00093                     dead_HV, dead_TP, dead_RO, discCat ); };
00094   int cellStatus( const DTWireId& id,
00095                   bool& dead_HV,
00096                   bool& dead_TP,
00097                   bool& dead_RO,
00098                   bool& discCat ) const
00099       { return get( id, dead_HV, dead_TP, dead_RO, discCat ); };
00100   int get( int   wheelId,
00101            int stationId,
00102            int  sectorId,
00103            int      slId,
00104            int   layerId,
00105            int    cellId,
00106            bool& dead_HV,
00107            bool& dead_TP,
00108            bool& dead_RO,
00109            bool& discCat ) const;
00110   int get( const DTWireId& id,
00111            bool& dead_HV,
00112            bool& dead_TP,
00113            bool& dead_RO,
00114            bool& discCat ) const;
00115 
00117   const
00118   std::string& version() const;
00119   std::string& version();
00120 
00122   void clear();
00123 
00124   int setCellStatus( int   wheelId,
00125                      int stationId,
00126                      int  sectorId,
00127                      int      slId,
00128                      int   layerId,
00129                      int    cellId,
00130                      bool dead_HV,
00131                      bool dead_TP,
00132                      bool dead_RO,
00133                      bool discCat );
00134   int setCellStatus( const DTWireId& id,
00135                      bool dead_HV,
00136                      bool dead_TP,
00137                      bool dead_RO,
00138                      bool discCat );
00139 
00140   int setCellDead_HV( int   wheelId,
00141                       int stationId,
00142                       int  sectorId,
00143                       int      slId,
00144                       int   layerId,
00145                       int    cellId,
00146                       bool flag );
00147   int setCellDead_HV( const DTWireId& id,
00148                       bool flag );
00149 
00150   int setCellDead_TP( int   wheelId,
00151                       int stationId,
00152                       int  sectorId,
00153                       int      slId,
00154                       int   layerId,
00155                       int    cellId,
00156                       bool flag );
00157   int setCellDead_TP( const DTWireId& id,
00158                       bool flag );
00159 
00160   int setCellDead_RO( int   wheelId,
00161                       int stationId,
00162                       int  sectorId,
00163                       int      slId,
00164                       int   layerId,
00165                       int    cellId,
00166                       bool flag );
00167   int setCellDead_RO( const DTWireId& id,
00168                       bool flag );
00169 
00170   int setCellDiscCat( int   wheelId,
00171                       int stationId,
00172                       int  sectorId,
00173                       int      slId,
00174                       int   layerId,
00175                       int    cellId,
00176                       bool flag );
00177   int setCellDiscCat( const DTWireId& id,
00178                       bool flag );
00179 
00181   typedef std::vector< std::pair<DTDeadFlagId,
00182                                  DTDeadFlagData> >::const_iterator
00183                                                     const_iterator;
00184   const_iterator begin() const;
00185   const_iterator end() const;
00186 
00187  private:
00188 
00189   std::string dataVersion;
00190 
00191   std::vector< std::pair<DTDeadFlagId,DTDeadFlagData> > dataList;
00192 
00194   void cacheMap() const;
00195   std::string mapName() const;
00196 
00197 };
00198 
00199 
00200 #endif // DTDeadFlag_H
00201 

Generated on Tue Jun 9 17:26:26 2009 for CMSSW by  doxygen 1.5.4