source: trunk/MagicSoft/Mars/mhist/MHMatrix.h@ 1474

Last change on this file since 1474 was 1355, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 1.3 KB
Line 
1#ifndef MARS_MHMatrix
2#define MARS_MHMatrix
3
4#ifndef ROOT_TMatrix
5#include <TMatrix.h>
6#endif
7#ifndef MARS_MH
8#include "MH.h"
9#endif
10
11class MDataChain;
12
13class MHMatrix : public MH
14{
15protected:
16 Int_t fNumRow; //! Number of dimensions of histogram
17 TMatrix fM; // Matrix to be filled
18
19 TMatrix fM2; //!
20
21 TList *fData; //! List of data members (columns)
22 TList *fRules; // List of data members as text for storage
23
24 void AddRow();
25
26 Bool_t SetupFill(const MParList *pList);
27 Bool_t Fill(const MParContainer *par);
28 Bool_t Finalize();
29
30public:
31 MHMatrix(const char *name=NULL, const char *title=NULL);
32 ~MHMatrix();
33
34 void AddColumn(const char *name);
35 void AddColumns(const MHMatrix *matrix);
36
37 // TMatrix &GetM() { return fM; }
38 const TMatrix &GetM() const { return fM; }
39 const TList *GetRules() const { return fRules; }
40
41 //void Draw(Option_t *opt=NULL);
42 //TObject *DrawClone(Option_t *opt=NULL) const;
43
44 void Print(Option_t *) const;
45
46 const TMatrix *InvertPosDef();
47
48 Double_t CalcDist(const TMatrix &m, const TVector &v, Int_t num = 25) const;
49 Double_t CalcDist(const TVector &v, Int_t num = 25);
50
51 void Reassign();
52
53 ClassDef(MHMatrix, 1) // Multidimensional Matrix to store events
54};
55
56#endif
Note: See TracBrowser for help on using the repository browser.