00001 // Author : Samvel Khalatian (samvel at fnal dot gov) 00002 // Created: 07/27/07 00003 // License: GPL 00004 00005 #ifndef TID_FLAG_XML_H 00006 #define TID_FLAG_XML_H 00007 00008 #include <boost/serialization/nvp.hpp> 00009 #include <boost/serialization/export.hpp> 00010 #include <boost/serialization/version.hpp> 00011 00012 #include "CalibTracker/SiStripRunSummary/interface/FlagXML.h" 00013 #include "CalibTracker/SiStripRunSummary/interface/ClassIDBase.h" 00014 00020 class TIDFlagTxt; 00021 00033 class TIDFlagXML: public FlagXML { 00034 public: 00035 TIDFlagXML() {} 00036 00043 TIDFlagXML( const TIDFlagTxt *poTID_FLAGTXT); 00044 00045 protected: 00054 inline virtual Clonable *clone() const { 00055 return new TIDFlagXML( *this); 00056 } 00057 00066 virtual Clonable *cloneTxt() const; 00067 00075 virtual ClassIDBase::ID getID() const; 00076 00086 // virtual int isChildValid( const FlagXML *poCHILD_CANDIDATE) const; 00087 00088 private: 00094 friend class boost::serialization::access; 00095 00096 template<class Archive> 00097 void serialize( Archive &roArchive, const unsigned int &rnVERSION) { 00098 roArchive & BOOST_SERIALIZATION_BASE_OBJECT_NVP( FlagXML); 00099 } 00104 }; 00105 00112 BOOST_CLASS_EXPORT_GUID( TIDFlagXML, "TIDFlagXML") 00113 00114 00123 BOOST_CLASS_VERSION( TIDFlagXML, 0) 00124 00125 #endif // TID_FLAG_XML_H