00001
00002
00003 #ifndef LATTICEMAKER_H
00004 #define LATTICEMAKER_H
00005
00006
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00025
00026 #include "TCollection.h"
00027 #include "LeakChecker/Lea.h"
00028
00029 class Lattice;
00030
00031 class LatticeMaker
00032 {
00033
00034 public:
00035
00036 typedef Bool_t AssociateFunc(const TObject*, const TObject*);
00037 typedef Long_t KeyFunc(const TObject*);
00038
00039
00040 LatticeMaker(){ LEA_CTOR; };
00041 virtual ~LatticeMaker(){ LEA_DTOR; };
00042
00043
00044
00045 Lattice* CreateLattice(const char* nameLeft,
00046 const char* nameRight,
00047 const char* type = "n:m" );
00048 Lattice* CreateLattice(const TObject* objLeft,
00049 const TObject* objRight,
00050 const char* type = "n:m" );
00051 Lattice* CreateLattice(const TCollection* setLeft,
00052 const TCollection* setRight,
00053 AssociateFunc* asFunc,
00054 const char* type = "n:m" );
00055 Lattice* Create1ToNLattice(const TCollection* setLeft,
00056 const TCollection* setRight,
00057 KeyFunc* leftFunc,
00058 KeyFunc* rightFunc);
00059
00060
00061
00062
00063 private:
00064
00065
00066
00067
00068
00069 ClassDef(LatticeMaker,0)
00070
00071 };
00072
00073
00074 #endif