| 12 | }; |
| 13 | |
| 14 | struct DataPointCollection |
| 15 | { |
| 16 | double time; //could be a time step or real-time |
| 17 | double systemClock = 0; |
| 18 | |
| 19 | DataPoint numCells; |
| 20 | DataPoint numSelfReplicators; |
| 21 | DataPoint numColonies; |
| 22 | DataPoint numViruses; |
| 23 | DataPoint numFreeCells; |
| 24 | DataPoint numParticles; |
| 25 | DataPoint averageGenomeCells; |
| 26 | DataPoint averageGenomeComplexity; |
| 27 | DataPoint varianceGenomeComplexity; |
| 28 | DataPoint maxGenomeComplexityOfColonies; |
| 29 | DataPoint totalEnergy; |
| 30 | |
| 31 | DataPoint numCreatedCells; |
| 32 | DataPoint numAttacks; |
| 33 | DataPoint numMuscleActivities; |
| 34 | DataPoint numDefenderActivities; |
| 35 | DataPoint numTransmitterActivities; |
| 36 | DataPoint numInjectionActivities; |
| 37 | DataPoint numCompletedInjections; |
| 38 | DataPoint numNervePulses; |
| 39 | DataPoint numNeuronActivities; |
| 40 | DataPoint numSensorActivities; |
| 41 | DataPoint numSensorMatches; |
| 42 | DataPoint numReconnectorCreated; |
| 43 | DataPoint numReconnectorRemoved; |
| 44 | DataPoint numDetonations; |
| 45 | |
| 46 | DataPointCollection operator+(DataPointCollection const& other) const; |
| 47 | DataPointCollection operator/(double divisor) const; |
| 48 | }; |