ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
ENSDF.h
Go to the documentation of this file.
00001 
00014 using namespace std;
00015 
00016 #ifndef PTHREAD_H
00017 #define PTHREAD_H //!<Inclusion guard.
00018 #include <pthread.h>
00019 #endif
00020 
00021 #ifndef STDLIB_H
00022 #define STDLIB_H //!<Inclusion guard
00023 #include <stdlib.h>
00024 #endif
00025 
00026 
00027 #ifndef STDIO_H
00028 #define STDIO_H //!<Inclusion guard.
00029 #include <stdio.h> 
00030 #endif
00031 
00032 #ifndef UTILITY
00033 #define UTILITY //!<Inclusion guard.
00034 #include <utility> 
00035 #endif
00036 
00037 #ifndef MAP
00038 #define MAP //!<Inclusion guard.
00039 #include <map>
00040 #endif
00041 
00042 #ifndef STRING
00043 #define STRING //!<Inclusion guard
00044 #include <string>
00045 #endif
00046 
00047 #ifndef VECTOR
00048 #define VECTOR //!<Inclusion guard
00049 #include <vector>
00050 #endif
00051 
00052 #ifndef LIST
00053 #define LIST //!<Inclusion guard
00054 #include <list>
00055 #endif
00056 
00057 #ifndef EXCEPTION
00058 #define EXCEPTION //!<Inclusion guard.
00059 #include <exception>
00060 #endif
00061 
00062 #ifndef ALGORITHM
00063 #define ALGORITHM//!<Inclusion guard.
00064 #include <algorithm>
00065 #endif
00066 
00067 #include "DataFileException.h"
00068 #include "Isotop.h"
00069 #include "Nukleid.h"
00070 #include "VerbosePrinterEventEnabled.h"
00071 #include "VerbosePrinter.h"
00072 
00073 #ifndef ENSDF_H
00074 #define ENSDF_H //!<Inclusion guard.
00075 
00076 void * loadIsotope(void * ptr 
00077                    );
00078 
00079 
00085 class ENSDF : public VerbosePrinterEventEnabled
00086 {
00087  public:
00088   ENSDF(vector<string> filenames, 
00089         VerbosePrinter * toRegister = NULL, 
00090         unsigned int numberOfThreads = 5 
00091         ); 
00092   ~ENSDF(); 
00093   const Isotop * getIsotop(const Nukleid isotopeToGet 
00094                            ) const; 
00095   const map< Nukleid, Isotop*> getAllIsotopes() const; 
00096   int getNumberOfIsotops() const; 
00097  protected:
00098   map< Nukleid, Isotop*> myNucleidIsotopeMap; 
00099   Nukleid * getNucleidFromString(string stringToGetIsotopeFrom  
00100                                  );
00101   list< list<string> > splitInDataSets(list<string> allDatasets 
00102                                        );
00103 
00104   bool isEmptyString(string toCheck 
00105                      ); 
00106   void threadFlush(vector< list<pair<Nukleid, list< list< string > >* > > > toFlush 
00107                    ); 
00108 };
00109 #endif
 All Classes Files Functions Variables Enumerations Enumerator Defines

Back to the main page of the Precalibrated Ion Beam Identification Detector project

Created by Rikard Lundmark