BioinstSim  2
 All Classes Functions Variables
bioinstsim.h
1 #ifndef BIOINSTSIM_H_
2 #define BIOINSTSIM_H_
3 
4 /******************************************************************************/
5 /******************************************************************************/
6 
7 #include <stdio.h>
8 #include <getopt.h>
9 
10 /******************************************************************************/
11 /******************************************************************************/
12 
13 #include "arguments.h"
14 #include "common.h"
15 #include "simulator.h"
16 #include "arena.h"
17 #include "agent.h"
18 
19 /******************************************************************************/
20 /******************************************************************************/
21 
22 enum EArenaType
23 {
24  BOUNDLESS,
25  CIRCULAR,
26  RECTANGULAR
27 };
28 
29 /******************************************************************************/
30 /******************************************************************************/
31 
32 enum ECytokineSetupType
33 {
34  NONE,
35  SIMPLEIL2,
36 };
37 
38 /******************************************************************************/
39 /******************************************************************************/
40 
41 enum EThAgentType
42 {
43  REAL,
44  REALIL2,
45  RECRUITMENT,
46  RECRUITMENTIL2,
47  REALWITHFEATURE
48 };
49 
50 /******************************************************************************/
51 /******************************************************************************/
52 
53 class CBioInstSim
54 {
55 public:
56  CBioInstSim(int argc, char** argv);
57  virtual ~CBioInstSim();
58 
59  void Run();
60 
61 protected:
62  void ParseArguments();
63  void PrintUsage();
64 
65  CExperiment* CreateExperiment();
66 
67 protected:
68  unsigned int m_argc;
69  char** m_argv;
70 
71  static struct option m_tLongOptions[];
72 
73  bool m_bVerbose;
74  bool m_bOutputStatistics;
75  unsigned int m_unRandomSeed;
76  unsigned int m_unNumberOfCycles;
77 
78  char* m_pchColorFilename;
79 
80  CSimulator* m_pcSimulator;
81  bool m_bRendering;
82  CExperiment* m_pcExperiment;
83  CArguments* m_pcExperimentArguments;
84  CArguments* m_pcAgentArguments;
85  CArguments* m_pcArenaArguments;
86  CArguments* m_pcPopulationAnalyzerArguments;
87 
88  CArguments* m_pcModelArguments; //m_pcCRMArguments;
89 };
90 
91 /******************************************************************************/
92 /******************************************************************************/
93 
94 #endif