00001
00002
00008 #ifndef __Cvals_h__
00009 #define __Cvals_h__
00010
00011 #include <iostream>
00012
00013
00018 class Cvals
00019 {
00020 private:
00021 bool average_;
00022
00023 public:
00024 virtual float get_value(int particle_number) =0;
00025 Cvals(bool average) : average_(average){};
00026 virtual ~Cvals(){};
00027
00028 bool take_average(){return average_;};
00029 };
00030
00031
00036 class Cvals_basic : public Cvals
00037 {
00038 private:
00039 float * pointer_;
00040 int jump_;
00041
00042 public:
00043 Cvals_basic(float * pointer, int jump, bool average);
00044 float get_value(int particle_number);
00045 };
00046
00047
00048
00053 class Cvals_func : public Cvals
00054 {
00055 private:
00056 float (* func_) (const int&);
00057
00058 public:
00059 Cvals_func(float (*func)(const int&), bool average);
00060 float get_value(int particle_number);
00061 };
00062
00063 #endif // __Cvals_h__