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