00001 // CellAverageObserver.h: interface for the CellAverageObserver class. 00002 // 00004 00005 #if !defined(AFX_ELLAVERAGEOBSERVER_H__DA41A943_25CF_11D4_8694_00A0C9B3BB18__INCLUDED_) 00006 #define AFX_ELLAVERAGEOBSERVER_H__DA41A943_25CF_11D4_8694_00A0C9B3BB18__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 #include <assert.h> 00013 #include "ReactionMover.h" 00014 #include "ReactionNetwork.h" 00015 #include "SubjectObserver.h" 00016 00017 class CellAverageObserver : public Observer 00018 { 00019 public: 00020 void ZeroConcentrations(); 00021 CellAverageObserver(int numberOfChemicals, int numberOfTimeSteps, int numberOfCells); 00022 virtual ~CellAverageObserver(); 00023 void Update(Subject *theChangedSubject); 00024 00025 const double **GetAverageConcentration() const {return (const double **)averageConcentration;} 00026 const int GetNumberOfTimeSteps() const {return numberOfTimeSteps;} 00027 const int GetNumberOfCells() const {return numberOfCells;} 00028 private: 00029 int numberOfChemicals; 00030 int numberOfTimeSteps; 00031 int numberOfCells; 00032 double **averageConcentration; 00033 00034 }; 00035 00036 #endif // !defined(AFX_ELLAVERAGEOBSERVER_H__DA41A943_25CF_11D4_8694_00A0C9B3BB18__INCLUDED_)