CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/CalibFormats/SiPixelObjects/interface/PixelMaskBase.h

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     //Hold pointer to the mask override information.
00077     PixelMaskOverrideBase* maskOverride_;
00078 
00079 
00080   };
00081 }
00082 /* @} */
00083 #endif