Warning, file /include/root/TPrincipal.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TPrincipal
0013 #define ROOT_TPrincipal
0014
0015 #include "TNamed.h"
0016 #include "TVectorD.h"
0017 #include "TMatrixD.h"
0018
0019 class TList;
0020
0021 class TPrincipal : public TNamed {
0022
0023 protected:
0024 Int_t fNumberOfDataPoints;
0025 Int_t fNumberOfVariables;
0026
0027 TVectorD fMeanValues;
0028 TVectorD fSigmas;
0029 TMatrixD fCovarianceMatrix;
0030
0031 TMatrixD fEigenVectors;
0032 TVectorD fEigenValues;
0033
0034 TVectorD fOffDiagonal;
0035
0036 TVectorD fUserData;
0037
0038 Double_t fTrace;
0039
0040 TList *fHistograms;
0041
0042 Bool_t fIsNormalised;
0043 Bool_t fStoreData;
0044
0045 TPrincipal(const TPrincipal&);
0046 TPrincipal& operator=(const TPrincipal&);
0047
0048 void MakeNormalised();
0049 void MakeRealCode(const char *filename, const char *prefix, Option_t *option="");
0050
0051 public:
0052 TPrincipal();
0053 ~TPrincipal() override;
0054 TPrincipal(Long64_t nVariables, Option_t *opt="ND");
0055
0056 virtual void AddRow(const Double_t *x);
0057 void Browse(TBrowser *b) override;
0058 void Clear(Option_t *option="") override;
0059
0060 const TMatrixD *GetCovarianceMatrix() const {return &fCovarianceMatrix;}
0061 const TVectorD *GetEigenValues() const {return &fEigenValues;}
0062 const TMatrixD *GetEigenVectors() const {return &fEigenVectors;}
0063 TList *GetHistograms() const {return fHistograms;}
0064 const TVectorD *GetMeanValues() const {return &fMeanValues;}
0065 const Double_t *GetRow(Long64_t row);
0066 const TVectorD *GetSigmas() const {return &fSigmas;}
0067 const TVectorD *GetUserData() const {return &fUserData;}
0068 Bool_t IsFolder() const override { return kTRUE;}
0069 virtual void MakeCode(const char *filename ="pca", Option_t *option="");
0070 virtual void MakeHistograms(const char *name = "pca", Option_t *option="epsdx");
0071 virtual void MakeMethods(const char *classname = "PCA", Option_t *option="");
0072 virtual void MakePrincipals();
0073 virtual void P2X(const Double_t *p, Double_t *x, Int_t nTest);
0074 void Print(Option_t *opt="MSE") const override;
0075 virtual void SumOfSquareResiduals(const Double_t *x, Double_t *s);
0076 void Test(Option_t *option="");
0077 virtual void X2P(const Double_t *x, Double_t *p);
0078
0079 ClassDefOverride(TPrincipal,2)
0080 }
0081 ;
0082
0083 #endif