00001 //Dear emacs, this is -*- c++ -*- 00002 00013 #include "eformat/old/SubDetectorFragment.h" 00014 #include "eformat/old/ROSFragment.h" 00015 #include "eformat/SizeCheckIssue.h" 00016 #include "eformat/HeaderMarker.h" 00017 00018 eformat::old::SubDetectorFragment::SubDetectorFragment (const uint32_t* it) 00019 : eformat::old::Header(it, eformat::SUB_DETECTOR), 00020 m_start(specific_header()) 00021 { 00022 } 00023 00024 bool eformat::old::SubDetectorFragment::check () const 00025 { 00026 eformat::old::Header::check(); //< first do a generic check 00027 if (nspecific() != 1) throw EFORMAT_SIZE_CHECK(1, nspecific()); 00028 return true; 00029 } 00030 00031 bool eformat::old::SubDetectorFragment::check_tree () const 00032 { 00033 check(); // check myself 00034 for (size_t i=0; i<noffset(); ++i) { 00035 eformat::old::ROSFragment ros(child(i)); 00036 ros.check_tree(); 00037 } 00038 return true; 00039 } 00040 00041 00042