Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:53

0001 #ifndef SimPPS_RPDigiProducer_DEAD_CHANNELS_MANAGER
0002 #define SimPPS_RPDigiProducer_DEAD_CHANNELS_MANAGER
0003 
0004 #include "SimPPS/RPDigiProducer/interface/RPSimTypes.h"
0005 #include "CondFormats/PPSObjects/interface/TotemAnalysisMask.h"
0006 
0007 /*
0008  * This purpose of this class is to answer the question whether a channel (given by detectorId
0009  * and stripNumber) is dead or not. This class uses analysisMask which is provided
0010  * by DAQMappingSourceXML.
0011  * @author Jakub Smajek
0012  */
0013 class DeadChannelsManager {
0014 private:
0015   const TotemAnalysisMask* analysisMask;
0016   bool analysisMaskPresent;  //this variable indicates whether analysisMask is present or not
0017 
0018 public:
0019   /**
0020      * This constructor allows us to set analysisMask. The analysisMask can be read from
0021      * EventSetup.
0022      */
0023   DeadChannelsManager(const TotemAnalysisMask* analysisMask);
0024   DeadChannelsManager();
0025   /**
0026      * This function answers the question whether given channel is dead or not.
0027      * RPDetId - detector ID given in raw form, this function has to convert raw ID to symbolic
0028      * stripNumber - ID of the strip, it is a number from range <0; 511>, this function has to convert
0029      * it into a vfat ID and a number from range <0; 127>
0030      *
0031      * It is assumed that:
0032      * channels 0 - 127 are in vfat number 0
0033      * channels 128 - 255 are in vfat number 1
0034      * channels 256 - 383 are in vfat number 2
0035      * channels 384 - 511 are in vfat number 3
0036      */
0037   bool isChannelDead(RPDetId detectorId, unsigned short stripNumber);
0038   void displayMap();
0039 };
0040 
0041 #endif