link to homepage

Institute for Neuroscience and Medicine

Navigation and service


API documentation

World.h

Go to the documentation of this file.
00001 
00005 /*
00006  *  JEMRIS Copyright (C) 2007-2010  Tony Stöcker, Kaveh Vahedipour
00007  *                                  Forschungszentrum Jülich, Germany
00008  *
00009  *  This program is free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version.
00013  *
00014  *  This program is distributed in the hope that it will be useful,
00015  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  *  GNU General Public License for more details.
00018  *
00019  *  You should have received a copy of the GNU General Public License
00020  *  along with this program; if not, write to the Free Software
00021  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00022  */
00023 
00024 #ifndef WORLD_H_
00025 #define WORLD_H_
00026 
00027 #include "Declarations.h"
00028 #include <string>
00029 #include <sstream>
00030 #include <iostream>
00031 #include <iomanip>
00032 #include <cstdlib>
00033 #include <fstream>
00034 
00035 
00036 using namespace std;
00037 
00038 class AtomicSequence;
00039 
00041 
00042 class World {
00043 
00044  public:
00045 
00049      virtual ~World   () { m_instance=0; };
00050 
00054     static World*  instance      ();
00055 
00062     double ConcomitantField (double* G);
00063 
00069         void   SetNoOfPools (int n) {m_noofpools=1;};
00070 
00076         int    GetNoOfPools () {return m_noofpools;};
00077 
00081     void      (*saveEvolFunPtr)(long, bool)  ;
00082 
00083     void*             solverSettings ;      
00084     bool              solverSuccess;        
00086     long              SpinNumber;                   
00087     long              TotalSpinNumber;      
00088     long              TotalADCNumber;       
00090     double*           Values;               
00091     double            InitValues[NO_SPIN_PROPERTIES];        
00092     double            time;                 
00093     double            total_time;           
00094     double            phase;                
00095     double            PhaseLock;            
00096     double            deltaB;               
00097     double            solution[3];          
00099     double            RandNoise;            
00100     double            GMAXoverB0;           
00101     double            NonLinGradField;      
00103     //members for saving the magnetisation evolution of the spins
00104     int               saveEvolStepSize;     
00105     string            saveEvolFileName;     
00106     ofstream*         saveEvolOfstream;     
00108     AtomicSequence*   pAtom;                
00109     AtomicSequence*   pStaticAtom;          
00111     int                           m_myRank;                             
00112     bool                          m_useLoadBalancing;   
00113     int                           m_no_processes;               
00115     long                          m_startSpin;                  
00117         int               m_noofpools;          
00119  private:
00120 
00124     World  () {};
00125 
00126     static World*    m_instance;           
00128 };
00129 
00130 #endif /*WORLD_H_*/

Servicemeu

institutes

Scientific Technical Facilities