00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef DifIndepPar_HH
00024 #define DifIndepPar_HH
00025
00026
00027 #include <assert.h>
00028 #include <stdlib.h>
00029
00030 #include "CLHEP/Matrix/SymMatrix.h"
00031 #include "CLHEP/Matrix/Vector.h"
00032 using CLHEP::HepVector;
00033 using CLHEP::HepSymMatrix;
00034
00035 #include <iosfwd>
00036 class DifArray;
00037 class DifNumber;
00038
00039 class DifIndepPar {
00040
00041 public:
00042
00043 DifIndepPar(int n);
00044 DifIndepPar(const HepVector& a);
00045 DifIndepPar(const HepVector& pvec, const HepSymMatrix& pcov);
00046 DifIndepPar(const DifIndepPar& rhs);
00047
00048 DifArray difParameters()const;
00049 DifNumber difPar(int i)const;
00050
00051 HepVector& parameter() { return parvec;}
00052 const HepVector& parameter() const { return parvec;}
00053 HepSymMatrix& covariance() { return parcov;}
00054 const HepSymMatrix& covariance() const { return parcov;}
00055 int nPar()const {return parvec.num_row();}
00056
00057
00058 void print(std::ostream& os = std::cout) const;
00059 void printAll(std::ostream& os = std::cout) const;
00060
00061 private:
00062
00063 HepVector parvec;
00064 HepSymMatrix parcov;
00065
00066
00067
00068
00069 };
00070
00071
00072 inline std::ostream& operator<<(std::ostream& o,const DifIndepPar& i){ i.print(o); return o; }
00073
00074 #endif