00001 #ifndef MTDIRXS_H 00002 #define MTDIRXS_H 00003 00004 #include <TArrayI.h> 00005 00006 #include "NdbDefs.h" 00007 #include "NdbMT.h" 00008 #include "NdbMaterial.h" 00009 00010 /* ========= NdbMTDir ============ */ 00011 class NdbMTDir : public NdbMT 00012 { 00013 protected: 00014 Float_t ZA; 00015 Float_t AWR; 00016 Int_t LRP; // Flag for resonances in MF=2 00017 Int_t LFI; // Whether this material fissions 00018 Int_t NLIB; // Library 00019 Int_t NVER; // Version 00020 Int_t NFOR; // Format 00021 Float_t ELIS; // Excitation energy 00022 Int_t STA; // Stability flag 00023 Int_t LIS; // Ground state 00024 Int_t LISO; // Isomeric state number 00025 Int_t NMOD; // Modification number 00026 Float_t AWI; // Mass in neutron units 00027 Int_t NSUB; // Sublibrary number 00028 Float_t TEMP; // Target temperature 00029 Int_t LDRV; // Special Derived material flag 00030 Int_t NWD; // Number of records 00031 Int_t NXC; // Number of records in the dir. 00032 char *ZSYMAM; //! Symbol 00033 char *ALAB; //! Laboratory mnemonic 00034 char *EDATE; //! Evaluation date 00035 char *AUTH; //! Authors name 00036 char *REF; //! Primary reference 00037 char *DDATE; //! Distribution date 00038 char *RDATE; //! Date&Number of last revision 00039 char *ENDATE; //! Master entry date yymmdd 00040 TString INFO; 00041 00042 00043 TArrayI dir_mf; // Directory entries 00044 TArrayI dir_mt; 00045 TArrayI dir_mc; 00046 TArrayI dir_mod; 00047 00048 public: 00049 NdbMTDir() 00050 : NdbMT(451,"Descriptive Data and Directory") 00051 { 00052 NXC = 0; 00053 ZSYMAM = NULL; 00054 ALAB = NULL; 00055 EDATE = NULL; 00056 AUTH = NULL; 00057 REF = NULL; 00058 DDATE = NULL; 00059 RDATE = NULL; 00060 ENDATE = NULL; 00061 } 00062 00063 ~NdbMTDir(); 00064 00065 // --- Input/Output routines --- 00066 Bool_t LoadENDF(char *filename); 00067 00068 inline Int_t Sections() const { return NXC; } 00069 inline Int_t DIRMF(Int_t i) { return dir_mf[i]; } 00070 inline Int_t DIRMT(Int_t i) { return dir_mt[i]; } 00071 inline Int_t DIRMC(Int_t i) { return dir_mc[i]; } 00072 inline Int_t DIRMOD(Int_t i) { return dir_mod[i]; } 00073 00074 inline char* SymbolName() { return ZSYMAM; } 00075 inline char* Laboratory() { return ALAB; } 00076 inline char* EvaluationDate() { return EDATE;} 00077 inline char* Author() { return AUTH; } 00078 inline char* Reference() { return REF; } 00079 inline char* DistributionDate() { return DDATE; } 00080 inline char* LastRevisionDate() { return RDATE; } 00081 inline char* MasterEntryDate() { return ENDATE; } 00082 inline TString GetInfo() { return INFO; } 00083 00084 ClassDef(NdbMTDir,1) 00085 }; // NdbMTDir 00086 00087 #endif