00001 // TimeVectorPoint.h: interface for the TimeVectorPoint class. 00002 // TimeVectorPoint is the base for the TimeVectorClass, which 00003 // stores times, chemical names, and chemical numbers to be used in 00004 // ReactionMovers and NetworkMinimizables. TimeVectorPointComparator 00005 // allows us to compare pointers to TimeVectorPoints based on their 00006 // time of occurence - used for STL algorithms that need a predicate. 00008 00009 #if !defined(AFX_TIMEVECTORPOINT_H__D18AB655_3F6E_47E9_B3B2_3A086CA5736D__INCLUDED_) 00010 #define AFX_TIMEVECTORPOINT_H__D18AB655_3F6E_47E9_B3B2_3A086CA5736D__INCLUDED_ 00011 00012 #if _MSC_VER > 1000 00013 #pragma once 00014 #endif // _MSC_VER > 1000 00015 00016 #include <string> 00017 00018 class TimeVectorPoint 00019 { 00020 public: 00021 TimeVectorPoint(double time=0.0,int vectorIndex=0,int chemNumber=0); 00022 virtual ~TimeVectorPoint(); 00023 int GetChemNumber() {return chemNumber;} 00024 double GetTime() {return time;} 00025 int GetVectorIndex() {return vectorIndex;} 00026 void SetChemNumber(int chemNumber) {this->chemNumber = chemNumber;} 00027 void SetTime(double time) {this->time = time;} 00028 void SetVectorIndex(int vectorIndex) {this->vectorIndex = vectorIndex;} 00029 class TimeVectorPointComparator 00030 { 00031 public: 00032 TimeVectorPointComparator() {return;} 00033 virtual ~TimeVectorPointComparator() {return;} 00034 bool operator()(TimeVectorPoint *t1, TimeVectorPoint *t2) 00035 { 00036 return t1->GetTime() < t2->GetTime(); 00037 } 00038 }; 00039 private: 00040 int chemNumber; 00041 int vectorIndex; 00042 double time; 00043 }; 00044 00045 #endif // !defined(AFX_TIMEVECTORPOINT_H__D18AB655_3F6E_47E9_B3B2_3A086CA5736D__INCLUDED_)