Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:41:59

0001 #ifndef PixelTrimAllPixels_h
0002 #define PixelTrimAllPixels_h
0003 /**
0004 * \file CalibFormats/SiPixelObjects/interface/PixelTrimAllPixels.h
0005 * \brief This class implements..
0006 *
0007 *   A longer explanation will be placed here later
0008 *
0009 */
0010 
0011 #include <string>
0012 #include <vector>
0013 #include "CalibFormats/SiPixelObjects/interface/PixelTrimBase.h"
0014 #include "CalibFormats/SiPixelObjects/interface/PixelMaskBase.h"
0015 #include "CalibFormats/SiPixelObjects/interface/PixelROCTrimBits.h"
0016 #include "CalibFormats/SiPixelObjects/interface/PixelROCName.h"
0017 #include "CalibFormats/SiPixelObjects/interface/PixelNameTranslation.h"
0018 
0019 namespace pos {
0020   /*!  \ingroup TrimObjects "Trim Objects"
0021 *    \ingroup ConfigurationObjects "Configuration Objects"
0022 *    
0023 *  @{
0024 *
0025 *  \class PixelTrimBase PixelTrimBase.h
0026 *  \brief This class implements..
0027 *
0028 *   A longer explanation will be placed here later
0029 *
0030 */
0031   class PixelTrimAllPixels : public PixelTrimBase {
0032   public:
0033     PixelTrimAllPixels(std::string filename);
0034     PixelTrimAllPixels(std::vector<std::vector<std::string> > &tableMat);
0035 
0036     //Build the commands needed to configure ROCs
0037     //on control link
0038 
0039     void generateConfiguration(PixelFECConfigInterface *pixelFEC,
0040                                PixelNameTranslation *trans,
0041                                const PixelMaskBase &pixelMask) const override;
0042 
0043     void writeBinary(std::string filename) const override;
0044 
0045     void writeASCII(std::string filename) const override;
0046     void writeXML(pos::PixelConfigKey key, int version, std::string path) const override { ; }
0047     void writeXMLHeader(pos::PixelConfigKey key,
0048                         int version,
0049                         std::string path,
0050                         std::ofstream *out,
0051                         std::ofstream *out1 = nullptr,
0052                         std::ofstream *out2 = nullptr) const override;
0053     void writeXML(std::ofstream *out, std::ofstream *out1 = nullptr, std::ofstream *out2 = nullptr) const override;
0054     void writeXMLTrailer(std::ofstream *out,
0055                          std::ofstream *out1 = nullptr,
0056                          std::ofstream *out2 = nullptr) const override;
0057 
0058     PixelROCTrimBits getTrimBits(int ROCId) const override;
0059 
0060     PixelROCTrimBits *getTrimBits(PixelROCName name) override;
0061 
0062   private:
0063     std::vector<std::string> rocname_;
0064     std::vector<PixelROCTrimBits> trimbits_;
0065   };
0066 }  // namespace pos
0067 /* @} */
0068 #endif