[Avida-cvs] [avida-svn] r558 - development/source/main

goingssh@myxo.css.msu.edu goingssh at myxo.css.msu.edu
Mon Apr 3 18:17:57 PDT 2006


Author: goingssh
Date: 2006-04-03 21:17:57 -0400 (Mon, 03 Apr 2006)
New Revision: 558

Added:
   development/source/main/cReactionResult.H
Log:
Still this file somehow got missed...

Added: development/source/main/cReactionResult.H
===================================================================
--- development/source/main/cReactionResult.H	2006-04-04 01:03:58 UTC (rev 557)
+++ development/source/main/cReactionResult.H	2006-04-04 01:17:57 UTC (rev 558)
@@ -0,0 +1,71 @@
+/*
+ *  cReactionResult.h
+ *  Avida
+ *
+ *  Created by David on 12/5/05.
+ *  Copyright 2005-2006 Michigan State University. All rights reserved.
+ *  Copyright 1993-2004 California Institute of Technology.
+ *
+ */
+
+#ifndef cReactionResult_h
+#define cReactionResult_h
+
+#ifndef tArray_h
+#include "tArray.h"
+#endif
+
+class cReactionResult {
+private:
+  tArray<double> resources_consumed;
+  tArray<double> resources_produced;
+  tArray<double> resources_detected;  //Initialize to -1.0
+  tArray<bool> tasks_done;
+  tArray<double> tasks_quality;
+  tArray<bool> receive_tasks_done;
+  tArray<bool> send_tasks_done;
+  tArray<bool> reactions_triggered;
+  double bonus_add;
+  double bonus_mult;
+  tArray<int> insts_triggered;
+  bool lethal;
+  bool active_reaction;
+
+
+  inline void ActivateReaction();
+  
+  cReactionResult(); // @not_implemented
+  cReactionResult(const cReactionResult&); // @not_implemented
+  cReactionResult& operator=(const cReactionResult&); // @not_implemented
+
+public:
+  cReactionResult(const int num_resources, const int num_tasks, const int num_reactions);
+  ~cReactionResult() { ; }
+
+  bool GetActive() { return active_reaction; }
+
+  void Consume(int id, double num);
+  void Produce(int id, double num);
+  void Detect(int id, double num);
+  void Lethal(bool flag);
+  void MarkTask(int id, const double quality=1);
+  void MarkReceiveTask(int id);
+  void MarkSendTask(int id);
+  void MarkReaction(int id);
+  void AddBonus(double value);
+  void MultBonus(double value);
+  void AddInst(int id);
+
+  double GetConsumed(int id);
+  double GetProduced(int id);
+  double GetDetected(int id);
+  bool GetLethal();
+  bool ReactionTriggered(int id);
+  bool TaskDone(int id);
+  double TaskQuality(int id);
+  double GetAddBonus() { return bonus_add; }
+  double GetMultBonus() { return bonus_mult; }
+  tArray<int>& GetInstArray() { return insts_triggered; }
+};
+
+#endif




More information about the Avida-cvs mailing list