![]() |
![]() |
00001 // Author : Samvel Khalatian (samvel at fnal dot gov) 00002 // Created: 07/27/07 00003 // License: GPL 00004 00005 #ifndef DCS_FLAG_TXT_H 00006 #define DCS_FLAG_TXT_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/FlagTxt.h" 00015 #include "CalibTracker/SiStripRunSummary/interface/ClassIDBase.h" 00016 00022 class DCSFlagXML; 00023 00035 class DCSFlagTxt: public FlagTxt { 00036 public: 00037 DCSFlagTxt() {} 00038 00045 DCSFlagTxt( const DCSFlagXML *poDCS_FLAGXML); 00046 00047 protected: 00056 inline virtual Clonable *clone() const { 00057 return new DCSFlagTxt( *this); 00058 } 00059 00068 virtual Clonable *cloneXML() const; 00069 00077 ClassIDBase::ID getID() const; 00078 00088 virtual int isChildValid( const FlagTxt *poCHILD_CANDIDATE) const; 00089 00090 private: 00096 friend class boost::serialization::access; 00097 00098 template<class Archive> 00099 void serialize( Archive &roArchive, const unsigned int &rnVERSION) { 00100 roArchive & boost::serialization::base_object<FlagTxt>( *this); 00101 } 00106 }; 00107 00120 std::ostream & 00121 operator <<( std::ostream &roOut, const DCSFlagTxt &roFLAG); 00122 00129 BOOST_CLASS_EXPORT_GUID( DCSFlagTxt, "DCSFlagTxt") 00130 00131 00140 BOOST_CLASS_VERSION( DCSFlagTxt, 0) 00141 00142 #endif // DCS_FLAG_TXT_H