Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:33:52

0001 #ifndef PixelROCStatus_h
0002 #define PixelROCStatus_h
0003 /*! \file CalibFormats/SiPixelObjects/interface/PixelROCStatus.h
0004 *   \brief This class keeps the possible non-standard status a ROC can have.
0005 *
0006 *    A longer explanation will be placed here later
0007 */
0008 
0009 #include <cstdint>
0010 #include <set>
0011 #include <string>
0012 
0013 namespace pos {
0014 
0015   /*! \class PixelROCStatus PixelROCStatus.h "interface/PixelROCStatus.h"
0016 *   \brief This class implements..
0017 *
0018 *   A longer explanation will be placed here later
0019 */
0020   class PixelROCStatus {
0021   private:
0022     uint32_t bits_;
0023 
0024   public:
0025     //Insert new status before nStatus
0026     enum ROCstatus { off = 0, noHits, noInit, noAnalogSignal, nStatus };
0027 
0028     PixelROCStatus();
0029     PixelROCStatus(const std::set<ROCstatus>& stat);
0030     virtual ~PixelROCStatus();
0031 
0032     std::string statusName(ROCstatus stat) const;
0033     std::string statusName() const;
0034 
0035     void set(ROCstatus stat);
0036     void clear(ROCstatus stat);
0037     void set(ROCstatus stat, bool mode);
0038     void set(const std::string& statName);
0039     bool get(ROCstatus stat) const;
0040 
0041     // Added by Dario (March 4th 2008)
0042     void reset(void);
0043   };
0044 }  // namespace pos
0045 #endif