Go to the documentation of this file.00001 #ifndef PixelMaskBase_h
00002 #define PixelMaskBase_h
00003
00012 #include "CalibFormats/SiPixelObjects/interface/PixelConfigBase.h"
00013 #include <vector>
00014 #include "CalibFormats/SiPixelObjects/interface/PixelMaskOverrideBase.h"
00015 #include "CalibFormats/SiPixelObjects/interface/PixelROCMaskBits.h"
00016 #include <string>
00017 #include <iostream>
00018
00019 namespace pos{
00036 class PixelMaskBase: public PixelConfigBase {
00037
00038 public:
00039
00040 PixelMaskBase(std::string description,
00041 std::string creator,
00042 std::string date);
00043
00044 virtual ~PixelMaskBase();
00045
00046 void setOverride(PixelMaskOverrideBase*);
00047
00048 virtual const PixelROCMaskBits& getMaskBits(int ROCId) const =0;
00049
00050 virtual PixelROCMaskBits* getMaskBits(PixelROCName name) =0;
00051
00052
00053 virtual void writeBinary(std::string filename) const =0;
00054
00055 virtual void writeASCII(std::string filename) const =0;
00056 virtual void writeXML( pos::PixelConfigKey key, int version, std::string path) const {;}
00057 virtual void writeXMLHeader(pos::PixelConfigKey key,
00058 int version,
00059 std::string path,
00060 std::ofstream *out,
00061 std::ofstream *out1 = NULL,
00062 std::ofstream *out2 = NULL
00063 ) const {;}
00064 virtual void writeXML( std::ofstream *out,
00065 std::ofstream *out1 = NULL ,
00066 std::ofstream *out2 = NULL ) const {;}
00067 virtual void writeXMLTrailer( std::ofstream *out,
00068 std::ofstream *out1 = NULL,
00069 std::ofstream *out2 =NULL
00070 ) const {;}
00071
00072 friend std::ostream& operator<<(std::ostream& s, const PixelMaskBase& mask);
00073
00074 private:
00075
00076
00077 PixelMaskOverrideBase* maskOverride_;
00078
00079
00080 };
00081 }
00082
00083 #endif