00001 #ifndef MT_H 00002 #define MT_H 00003 00004 #ifndef ROOT_TObject 00005 # include <TObject.h> 00006 #endif 00007 00008 #ifndef ROOT_TString 00009 # include <TString.h> 00010 #endif 00011 00012 #include <stdio.h> 00013 00014 /* ================== NdbMT =================== */ 00015 /* 00016 * Defines the basic object for Sections of a File Type 00017 */ 00018 class NdbMT: public TObject 00019 { 00020 protected: 00021 Int_t iMT; // MT number 00022 TString sDescription; 00023 00024 public: 00025 NdbMT( Int_t aMT, const char *desc) 00026 : sDescription(desc) { iMT = aMT; } 00027 00028 ~NdbMT() {} 00029 00030 // Virtual functions 00031 virtual Int_t Compare(const TObject *o) const 00032 { return ((iMT == ((NdbMT*)o)->iMT)? 0 : 00033 (iMT > ((NdbMT*)o)->iMT)? 1 : -1 ); } 00034 00035 // Access functions 00036 inline Int_t MT() const { return iMT; } 00037 inline TString Description() const { return sDescription; } 00038 00039 // Assign a working file 00040 00041 // Enumerate sections in ENDF file 00042 Int_t EnumerateENDFSection( Int_t /* sec */) {return 0;} 00043 00044 // Move File pointer to beggining of MT section in ENDF file 00045 void LocateENDFSection() {} 00046 00047 // END of ENDF Section reached? 00048 Bool_t ENDF_EOS() {return 0;} 00049 00050 // Abstract functions (or Virtual?) 00051 virtual void ReadENDFSectionHeader() {} 00052 virtual void ReadENDFSection() {} 00053 00054 ClassDef(NdbMT,1) 00055 00056 }; // NdbMT 00057 00058 #endif