CMS 3D CMS Logo

GlobalFlagXML.h

Go to the documentation of this file.
00001 // Author : Samvel Khalatian (samvel at fnal dot gov)
00002 // Created: 07/27/07
00003 // License: GPL
00004 
00005 #ifndef GLOBAL_FLAG_XML_H
00006 #define GLOBAL_FLAG_XML_H
00007 
00008 #include <iosfwd>
00009 
00010 #include <boost/serialization/nvp.hpp>
00011 #include <boost/serialization/export.hpp>
00012 #include <boost/serialization/version.hpp>
00013 
00014 #include "CalibTracker/SiStripRunSummary/interface/FlagXML.h"
00015 #include "CalibTracker/SiStripRunSummary/interface/ClassIDBase.h"
00016 
00023 class GlobalFlagTxt;
00024 
00036 class GlobalFlagXML: public FlagXML {
00037   public:
00038     GlobalFlagXML() {}
00039     
00046     GlobalFlagXML( const GlobalFlagTxt *poGLOBAL_FLAGTXT);
00047 
00048   protected:
00057     inline virtual Clonable *clone() const {
00058       return new GlobalFlagXML( *this);
00059     }
00060 
00069     virtual Clonable *cloneTxt() const;
00070 
00078     virtual ClassIDBase::ID getID() const;
00079 
00089     virtual int isChildValid( const FlagXML *poCHILD_CANDIDATE) const;
00090 
00091   private:
00097     friend class boost::serialization::access;
00098 
00099     template<class Archive>
00100       void serialize( Archive &roArchive, const unsigned int &rnVERSION) {
00101         roArchive & BOOST_SERIALIZATION_BASE_OBJECT_NVP( FlagXML);
00102       }
00107 };
00108 
00121 std::ostream &
00122   operator <<( std::ostream &roOut, const GlobalFlagXML &roFLAG);
00123 
00130 BOOST_CLASS_EXPORT_GUID( GlobalFlagXML, "GlobalFlagXML")
00131 
00132 
00141 BOOST_CLASS_VERSION( GlobalFlagXML, 0)
00142 
00143 #endif // GLOBAL_FLAG_XML_H

Generated on Tue Jun 9 17:25:52 2009 for CMSSW by  doxygen 1.5.4