FEDRA emulsion software from the OPERA Collaboration
EdbAlignmentMap.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbAlignmentMap
2 #define ROOT_EdbAlignmentMap
3 
4 #include <TH2F.h>
5 #include <TGraph2D.h>
6 #include <TVector2.h>
7 #include <TVector3.h>
8 #include <TEnv.h>
9 #include "EdbBrick.h"
10 #include "EdbPattern.h"
11 #include "EdbAffine.h"
12 #include "EdbPositionAlignment.h"
13 
14 //-------------------------------------------------------------------------------------------------
15 class EdbAlignmentMap : public TObject
16 {
17  public:
18  TEnv *eEnv; // environment used to pass the parameters
19  EdbPattern *ePat1; // big patterns to be splitted and aligned piece by piece
21  float eDensityMax; // the max segments density for patterns selection (in N/100/100 microns)
22 
24 
25  EdbPositionAlignment eGlobal; // service object for the zones selection
26 
27  TVector3 eGV1,eGV2; // global offsets found by the test alignment (dx:dy:dz)
28 
29  float eXcell, eYcell; // approximate zones size (for example 10000 microns)
30  int eNx, eNy; // number of divisions calculated using eXcell, eYcell
31 
32  EdbCell2 eMap; // in each cell TArratF with (x,y, dx,dy,dz1,dz2, n)
33 
34  TGraph2D *eGraphDX;
35  TGraph2D *eGraphDY;
36  TGraph2D *eGraphDZ1;
37  TGraph2D *eGraphDZ2;
38 
39  TFile *eOutputFile;
40  TTree *eMapTree;
41 
42  public:
43  EdbAlignmentMap(const char *file=0, const char *mode=0);
44  virtual ~EdbAlignmentMap();
45 
46  int InitFile(const char *file=0, const char *mode=0);
47  void AlignMap();
48  void SaveAll();
49  int FillMapTree( EdbPositionAlignment &pol, int izone );
50  void SaveMap( const char *file );
51  void ExtractMapFromTree();
52 
53  int ApplyMap(EdbPattern &pat);
54 
55  void CheckPattern(EdbPattern &p, const char *suffix);
56  int CheckDZbase(TEnv &cenv, EdbPattern &p1, EdbPattern &p2);
57 
58  int SelectSampleForShrinkageCorr(EdbPattern &p, EdbPattern &psel, float wmin, float wmax, float tmin, float tmax );
59  int Link();
60  int Link(TEnv &cenv, EdbPattern &p1, EdbPattern &p2, EdbPlateP &plate);
61 
62  void Link( const char *file, EdbPlateP &plate );
63  void get_run_patterns(const char *runfile, TEnv *cenv, EdbPattern &p1, EdbPattern &p2);
64  static void GetPostreeAsPat(EdbPattern &pat, const char *filename);
65 
66  int CheckXY(TEnv &cenv, EdbPattern &p1all, EdbPattern &p2all);
67 
68  ClassDef(EdbAlignmentMap,1) // 2-d alignment map finder
69 };
70 
71 #endif /* ROOT_EdbAlignmentMap */
Definition: EdbAlignmentMap.h:16
float eDensityMax
Definition: EdbAlignmentMap.h:21
TVector3 eGV1
Definition: EdbAlignmentMap.h:27
void AlignMap()
Definition: EdbAlignmentMap.cxx:100
EdbPattern * ePat2
Definition: EdbAlignmentMap.h:20
TEnv * eEnv
Definition: EdbAlignmentMap.h:18
int ApplyMap(EdbPattern &pat)
Definition: EdbAlignmentMap.cxx:318
int InitFile(const char *file=0, const char *mode=0)
Definition: EdbAlignmentMap.cxx:47
int eNy
Definition: EdbAlignmentMap.h:30
TVector3 eGV2
Definition: EdbAlignmentMap.h:27
int SelectSampleForShrinkageCorr(EdbPattern &p, EdbPattern &psel, float wmin, float wmax, float tmin, float tmax)
Definition: EdbAlignmentMap.cxx:618
EdbPattern * ePat1
Definition: EdbAlignmentMap.h:19
int FillMapTree(EdbPositionAlignment &pol, int izone)
Definition: EdbAlignmentMap.cxx:250
int eNx
Definition: EdbAlignmentMap.h:30
void SaveMap(const char *file)
Definition: EdbAlignmentMap.cxx:290
int CheckDZbase(TEnv &cenv, EdbPattern &p1, EdbPattern &p2)
Definition: EdbAlignmentMap.cxx:571
void get_run_patterns(const char *runfile, TEnv *cenv, EdbPattern &p1, EdbPattern &p2)
Definition: EdbAlignmentMap.cxx:664
float eYcell
Definition: EdbAlignmentMap.h:29
float eXcell
Definition: EdbAlignmentMap.h:29
TFile * eOutputFile
Definition: EdbAlignmentMap.h:39
EdbAlignmentMap(const char *file=0, const char *mode=0)
Definition: EdbAlignmentMap.cxx:25
void CheckPattern(EdbPattern &p, const char *suffix)
Definition: EdbAlignmentMap.cxx:640
EdbPositionAlignment eGlobal
Definition: EdbAlignmentMap.h:25
TGraph2D * eGraphDY
Definition: EdbAlignmentMap.h:35
EdbCell2 eMap
Definition: EdbAlignmentMap.h:32
TGraph2D * eGraphDZ1
Definition: EdbAlignmentMap.h:36
EdbPlateP * ePlate
Definition: EdbAlignmentMap.h:23
int CheckXY(TEnv &cenv, EdbPattern &p1all, EdbPattern &p2all)
Definition: EdbAlignmentMap.cxx:742
void ExtractMapFromTree()
Definition: EdbAlignmentMap.cxx:355
TGraph2D * eGraphDX
Definition: EdbAlignmentMap.h:34
TGraph2D * eGraphDZ2
Definition: EdbAlignmentMap.h:37
void SaveAll()
Definition: EdbAlignmentMap.cxx:86
TTree * eMapTree
Definition: EdbAlignmentMap.h:40
virtual ~EdbAlignmentMap()
Definition: EdbAlignmentMap.cxx:37
static void GetPostreeAsPat(EdbPattern &pat, const char *filename)
Definition: EdbAlignmentMap.cxx:724
int Link()
Definition: EdbAlignmentMap.cxx:448
Definition: EdbCell2.h:151
Definition: EdbPattern.h:280
Definition: EdbBrick.h:13
Definition: EdbPositionAlignment.h:14
TEnv cenv("emrec")
string filename
Definition: emthickness.cpp:34
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1
p
Definition: testBGReduction_AllMethods.C:8
TFile * file
Definition: write_pvr.C:3