freSessionInfo.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   F.R.E.E. - flexible registration evaluation engine
00004   Version:   v.1.0.0
00005   Date:      $Date: 2006/09/01 12:00:00 $
00006   Module:    $RCSfile: freSessionInfo.h,v $
00007   Language:  C++
00008 
00009 
00010 
00011   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00012   Institute for Medical Biometry and Informatics, University of Heidelberg,
00013   Germany). All rights reserved.
00014   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00015   for details.
00016 
00017      This software is distributed WITHOUT ANY WARRANTY; without even 
00018      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00019      PURPOSE.  See the above copyright notices for more information.
00020 
00021 =========================================================================*/
00022 #ifndef __freSessionInfo_h
00023 #define __freSessionInfo_h
00024 
00025 #include "freSetup.h"
00026 #include "freSessionComponentCache.h"
00027 #include "freStatistics.h"
00028 
00029 namespace FREE
00030 {
00031 
00041 class SessionInfo : public itk::LightObject
00042 {
00043 public:  
00044   typedef SessionInfo                    Self;
00045   typedef itk::LightObject               Superclass;
00046   typedef itk::SmartPointer<Self>        Pointer;
00047   typedef itk::SmartPointer<const Self>  ConstPointer;
00048 
00049   itkTypeMacro(SessionInfo, LightObject);
00050 
00051   static Pointer New(Setup* pSetup);
00052 
00053   typedef SessionComponentCache::ComponentCacheCollectionType ComponentCacheCollectionType;
00054 
00057         Setup* GetSetup() const;
00058 
00059         void SetSetup(Setup* pSetup);
00060   
00063   const SessionComponentCache* GetSessionCache() const;
00064   SessionComponentCache* GetSessionCache();
00065 
00068   const ComponentCacheCollectionType& GetComponentCaches() const;
00069   ComponentCacheCollectionType& GetComponentCaches();
00070 
00076   void SetStatistic(Statistics* pStatistic)
00077   {     if (m_pStatistic != pStatistic) m_pStatistic = pStatistic; };
00081   inline const Statistics* GetStatistic() const { return m_pStatistic; };
00082   inline Statistics* GetStatistic() { return m_pStatistic; };
00083 
00088   SessionComponentCache* GetCacheByIDPath(const IDPath& idPath) const;
00089 
00091   virtual SessionInfo& operator = (const SessionInfo& rSessionInfo);
00092 
00093 protected:
00096         SessionInfo(Setup* pSetup);
00097 
00099   Setup* m_pSetup;
00100 
00102   SessionComponentCache::Pointer m_smpRootCache;
00103 
00106   Statistics* m_pStatistic;
00107 
00108 private:
00110   SessionInfo( const SessionInfo& rSessionInfo );
00111 };
00112 
00113 }//end of namespace FREE
00114 
00115 #endif

Generated at Sat Oct 13 17:27:23 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000