Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:02:28

0001 /****************************************************************************
0002 *
0003 * This is a part of TOTEM offline software.
0004 * Authors: 
0005 *   Maciej Wróbel (wroblisko@gmail.com)
0006 *   Jan Kašpar (jan.kaspar@cern.ch)
0007 *
0008 ****************************************************************************/
0009 
0010 #ifndef CondFormats_PPSObjects_TotemAnalysisMask
0011 #define CondFormats_PPSObjects_TotemAnalysisMask
0012 
0013 #include "CondFormats/PPSObjects/interface/TotemSymbId.h"
0014 #include "CondFormats/Serialization/interface/Serializable.h"
0015 #include <map>
0016 #include <set>
0017 
0018 //----------------------------------------------------------------------------------------------------
0019 
0020 /**
0021  *\brief Contains data on masked channels of a VFAT.
0022  */
0023 class TotemVFATAnalysisMask {
0024 public:
0025   TotemVFATAnalysisMask() : fullMask(false) {}
0026 
0027   /// whether all channels of the VFAT shall be masked
0028   bool fullMask;
0029 
0030   /// list of channels to be masked
0031   std::set<unsigned char> maskedChannels;
0032 
0033   COND_SERIALIZABLE;
0034 };
0035 
0036 //----------------------------------------------------------------------------------------------------
0037 
0038 /**
0039  *\brief Channel-mask mapping.
0040  **/
0041 class TotemAnalysisMask {
0042 public:
0043   std::map<TotemSymbID, TotemVFATAnalysisMask> analysisMask;
0044 
0045   void insert(const TotemSymbID& sid, const TotemVFATAnalysisMask& vam);
0046   void print(std::ostream& os) const;
0047 
0048   COND_SERIALIZABLE;
0049 };
0050 
0051 std::ostream& operator<<(std::ostream& os, TotemAnalysisMask mask);
0052 
0053 #endif