![]() |
ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
|
00001 00011 using namespace std; 00012 #ifndef LIST 00013 #define LIST //!<Inclusion guard 00014 #include <list> 00015 #endif 00016 00017 #ifndef VECTOR 00018 #define VECTOR //!<Inclusion guard 00019 #include <vector> 00020 #endif 00021 00022 #ifndef STRING 00023 #define STRING //!<Inclusion guard 00024 #include <string> 00025 #endif 00026 00027 #ifndef STDIO_H 00028 #define STDIO_H //!<Inclusion guard 00029 #include <stdio.h> 00030 #endif 00031 00032 #ifndef SYS_TYPES_H 00033 #define SYS_TYPES_H //!<Inclusion guard 00034 #include <sys/types.h> 00035 #endif 00036 00037 #ifndef DIRENT_H 00038 #define DIRENT_H //!<Inclusion guard 00039 #include <dirent.h> 00040 #endif 00041 00042 #ifndef MAP 00043 #define MAP //!<Inclusion guard 00044 #include <map> 00045 #endif 00046 00047 #ifndef EXCEPTION 00048 #define EXCEPTION //!<Inclusion guard 00049 #include <exception> 00050 #endif 00051 00052 #ifndef SSTREAM 00053 #define SSTREAM //!<Inclusion guard 00054 #include <sstream> 00055 #endif 00056 00057 #include "Dataset.h" 00058 #include "Isotop.h" 00059 #include "ENSDF.h" 00060 #include "Nukleid.h" 00061 #include "Record.h" 00062 #include "DataQuery.h" 00063 #include "DataQueryBetaGamma.h" 00064 #include "DataQueryIsomer.h" 00065 #include "InterestingDecay.h" 00066 #include "InterestingDecayBetaGamma.h" 00067 #include "InterestingDecayIsomer.h" 00068 #include "Enums.h" 00069 #include "MassTable.h" 00070 #include "VerbosePrinter.h" 00071 #include "VerbosePrinterEventEnabled.h" 00072 00073 00074 00075 #ifndef ENSDF_PROCESSOR_H 00076 #define ENSDF_PROCESSOR_H //!<Inclusion guard 00077 00078 00083 class ENSDFProcessor : public VerbosePrinterEventEnabled 00084 { 00085 public: 00086 ENSDFProcessor(string ENSDFDirectory, 00087 string MassTableDirectory, 00088 VerbosePrinter * toRegister = NULL, 00089 unsigned int nbrOfThreads = 5 00090 ); 00092 00093 ~ENSDFProcessor(); 00094 00095 list<InterestingDecayBetaGamma* > runBetaGammaQuery(double minBetaDecayTime, 00096 double maxBetaDecayTime 00097 ); 00098 00099 void runBetaGammaQuery(double minBetaDecayTime, 00100 double maxBetaDecayTime, 00101 double minBetaBranchStrength, 00102 double minGammaBranchStrength, 00103 string outputFileName 00104 ); 00108 void runBetaGammaQuery_GenerateGammaList(double minBetaDecayTime, 00109 double maxBetaDecayTime, 00110 double minGammaBranchStrength, 00111 string outputFileName 00112 ); 00114 void runBetaGammaQuery_GenerateChartList(double minBetaDecayTime, 00115 double maxBetaDecayTime, 00116 double minGammaBranchStrength, 00117 string outputFileName 00118 ); 00120 void runBetaGammaQuery_GenerateTexList(double minBetaDecayTime, 00121 double maxBetaDecayTime, 00122 double minGammaBranchStrength, 00123 string outputFileName 00124 ); 00129 list<InterestingDecayIsomer* > runIsomerQuery(double tLower, 00130 double tUpper 00131 ); 00132 00133 void runIsomerQuery(double tLower, 00134 double tUpper, 00135 string outputFileName 00136 ); 00137 00138 protected: 00139 ENSDF * myENSDF; 00140 MassTable * myTable; 00141 00142 00143 vector<string> getDirectoryContent( 00144 string DirectoryName 00145 ); 00146 00147 static int one(const struct dirent *unused 00148 ){ return 1; } 00149 00150 }; 00151 #endif