00001
00002
00003 #ifndef COVARIANCE_SET_H
00004 #define COVARIANCE_SET_H
00005
00006 #include "covariance.h"
00007 #include "Object.h"
00008 #include "mean_set.h"
00009
00010 namespace FD {
00011
00012 class CovarianceSet : public Object {
00013 protected:
00014 int nb_covariances;
00015 Vector<RCPtr<Covariance> > covariances;
00016 public:
00018 CovarianceSet()
00019 : nb_covariances (0)
00020 {};
00021
00023 void toInvert (const MeanSet &means);
00024
00026 int size() {return nb_covariances;}
00027
00029 RCPtr<Covariance> operator [] (int id) {return covariances[id];}
00030
00032 int getIDFor(RCPtr<Covariance>);
00033
00035 RCPtr<Covariance> getPtrFor(int id) const;
00036
00038 virtual void printOn(std::ostream &out=std::cout) const;
00039
00041 void readFrom (std::istream &in=std::cin);
00042
00044 friend std::istream &operator >> (std::istream &in, CovarianceSet &cov);
00045
00046 };
00047
00048 }
00049
00050 #endif