CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CalibFormats/SiPixelObjects/interface/PixelTrimCommon.h

Go to the documentation of this file.
00001 #ifndef PixelTrimACommon_h
00002 #define PixelTrimACommon_h
00003 
00011 #include <string>
00012 #include <vector>
00013 #include "CalibFormats/SiPixelObjects/interface/PixelTrimBase.h"
00014 #include "CalibFormats/SiPixelObjects/interface/PixelMaskBase.h"
00015 #include "CalibFormats/SiPixelObjects/interface/PixelROCTrimBits.h"
00016 #include "CalibFormats/SiPixelObjects/interface/PixelNameTranslation.h"
00017 
00018 namespace pos{
00030   class PixelTrimCommon: public PixelTrimBase {
00031 
00032   public:
00033 
00034     PixelTrimCommon(std::string filename);
00035 
00036     //Build the commands needed to configure ROCs
00037     //on control link
00038 
00039     void generateConfiguration(PixelFECConfigInterface* pixelFEC,
00040                                PixelNameTranslation* trans,
00041                                const PixelMaskBase& pixelMask) const;
00042 
00043     void writeBinary(std::string filename) const;
00044 
00045     void         writeASCII(std::string filename)                                                           const  ;
00046     void         writeXML(      pos::PixelConfigKey key, int version, std::string path)                     const {;}
00047     virtual void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out) const {;}
00048     virtual void writeXML(                                                              std::ofstream *out) const {;}
00049     virtual void writeXMLTrailer(                                                       std::ofstream *out) const {;}
00050 
00051 
00052   private:
00053 
00054     std::vector<PixelROCName> rocname_;
00055     std::vector<unsigned int> trimbits_;
00056 
00057   };
00058 }
00059 #endif