FEDRA emulsion software from the OPERA Collaboration
EdbViewMatch.h
Go to the documentation of this file.
1#ifndef ROOT_EdbViewMatch
2#define ROOT_EdbViewMatch
3
5// //
6// EdbViewMatch - nearby views matching by clusters&grains - the primary purpose is distortions correction //
7// //
9#include "TObject.h"
10#include "TFile.h"
11#include "TEnv.h"
12#include "TNtuple.h"
13#include "EdbCell2.h"
14#include "EdbRun.h"
15
16
17//______________________________________________________________________________
18class EdbClMatch : public TObject {
19public:
20 Float_t eX,eY,eZ; // cluster coords in view RS
21 Float_t eXv,eYv; // view coords
22 Int_t eView;
23 Int_t eFrame;
24
26 EdbClMatch(float x,float y,float z, float xv,float yv, int view, int frame)
27 { eX=x; eY=y; eZ=z; eXv=xv; eYv=yv; eView=view; eFrame=frame; }
28 virtual ~EdbClMatch(){}
29
30 ClassDef(EdbClMatch,1) // service structure for views matching
31};
32
33//______________________________________________________________________________
34class EdbViewMatch : public TObject {
35private:
36 int eNClMin; // minimal number of clusters inside grain to be used for corrections
37 float eR2CenterMax; // the maximal distance to the matrix center for the reference cluster
38 float eRmax; // acceptance for clusters matching
39
40 TClonesArray eCl; // array of EdbClMatch objects
41 TClonesArray eGr; // array of EdbSegment objects (cluster "clouds" in this case)
42 EdbCell2 eGMap; // map of grains (EdbSegments)
43 EdbCell2 eCorrMap; // map of corrections
44
45 float eXpix, eYpix;
47
50
51public:
53 bool eDumpGr; // if(1) dump grains tree
54 float eAreaMin, eAreaMax; // clusters Area limints
55 float eVolumeMin, eVolumeMax; // clusters Volume limints
56
57public:
59 virtual ~EdbViewMatch(){}
60
61 void InitGMap();
62 void InitCorrMap();
63
64 void AddCluster( float x,float y,float z, float xv,float yv, int view, int frame );
65
66 void CalculateGrRef();
67 void CalculateCorr();
68 void DrawCorrMap();
69 void GenerateCorrectionMatrix(const char *addfile);
70 void SetPar(TEnv &env);
71 void SetPixelSize(float xpix, float ypix) { eXpix=xpix; eYpix=ypix; }
72 void CutGrRef();
73
74 TNtuple *DumpGr(const char *name);
75
76 void MakeDistortionMap(const char *fname, TEnv &env, const char *addfile=0);
77
78 void Print();
79
80 ClassDef(EdbViewMatch,1) //
81};
82
83#endif /* ROOT_EdbViewMatch */
class to group 2-dim objects
Definition: EdbCell2.h:148
Definition: EdbViewMatch.h:18
EdbClMatch(float x, float y, float z, float xv, float yv, int view, int frame)
Definition: EdbViewMatch.h:26
Int_t eFrame
Definition: EdbViewMatch.h:23
Int_t eView
Definition: EdbViewMatch.h:22
Float_t eX
Definition: EdbViewMatch.h:20
Float_t eXv
Definition: EdbViewMatch.h:21
Float_t eYv
Definition: EdbViewMatch.h:21
Float_t eZ
Definition: EdbViewMatch.h:20
Float_t eY
Definition: EdbViewMatch.h:20
virtual ~EdbClMatch()
Definition: EdbViewMatch.h:28
EdbClMatch()
Definition: EdbViewMatch.h:25
Definition: EdbViewMatch.h:34
float eYpix
Definition: EdbViewMatch.h:45
void CalculateCorr()
Definition: EdbViewMatch.cxx:191
float eAreaMin
Definition: EdbViewMatch.h:54
int eNClMin
Definition: EdbViewMatch.h:36
float eCorrectionMatrixStepX
Definition: EdbViewMatch.h:48
void Print()
Definition: EdbViewMatch.cxx:368
void CalculateGrRef()
Definition: EdbViewMatch.cxx:142
TClonesArray eGr
Definition: EdbViewMatch.h:41
void MakeDistortionMap(const char *fname, TEnv &env, const char *addfile=0)
Definition: EdbViewMatch.cxx:392
bool eDumpGr
Definition: EdbViewMatch.h:53
TClonesArray eCl
Definition: EdbViewMatch.h:40
float eXpix
Definition: EdbViewMatch.h:45
void AddCluster(float x, float y, float z, float xv, float yv, int view, int frame)
Definition: EdbViewMatch.cxx:114
float eAreaMax
Definition: EdbViewMatch.h:54
float eRmax
Definition: EdbViewMatch.h:38
void GenerateCorrectionMatrix(const char *addfile)
Definition: EdbViewMatch.cxx:285
TNtuple * DumpGr(const char *name)
Definition: EdbViewMatch.cxx:175
void SetPar(TEnv &env)
Definition: EdbViewMatch.cxx:52
int eNXpix
Definition: EdbViewMatch.h:46
float eCorrectionMatrixStepY
Definition: EdbViewMatch.h:49
TFile * eOutputFile
Definition: EdbViewMatch.h:52
void DrawCorrMap()
Definition: EdbViewMatch.cxx:223
float eVolumeMax
Definition: EdbViewMatch.h:55
float eR2CenterMax
Definition: EdbViewMatch.h:37
EdbCell2 eGMap
Definition: EdbViewMatch.h:42
void InitCorrMap()
Definition: EdbViewMatch.cxx:81
float eVolumeMin
Definition: EdbViewMatch.h:55
virtual ~EdbViewMatch()
Definition: EdbViewMatch.h:59
EdbCell2 eCorrMap
Definition: EdbViewMatch.h:43
void InitGMap()
Definition: EdbViewMatch.cxx:105
int eNYpix
Definition: EdbViewMatch.h:46
void CutGrRef()
Definition: EdbViewMatch.cxx:162
void SetPixelSize(float xpix, float ypix)
Definition: EdbViewMatch.h:71
const char * fname
Definition: mc2raw.cxx:41
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24