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"
13
15class EdbAlignmentMap : public TObject
16{
17 public:
18 TEnv *eEnv;
22
24
26
27 TVector3 eGV1,eGV2;
28
29 float eXcell, eYcell;
30 int eNx, eNy;
31
33
34 TGraph2D *eGraphDX;
35 TGraph2D *eGraphDY;
36 TGraph2D *eGraphDZ1;
37 TGraph2D *eGraphDZ2;
38
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 */
const char filename[256]
Definition: RecDispNU.C:83
2-d alignment map finder
Definition: EdbAlignmentMap.h:16
float eDensityMax
the max segments density for patterns selection (in N/100/100 microns)
Definition: EdbAlignmentMap.h:21
TVector3 eGV1
Definition: EdbAlignmentMap.h:27
void AlignMap()
Definition: EdbAlignmentMap.cxx:100
EdbPattern * ePat2
Definition: EdbAlignmentMap.h:20
TEnv * eEnv
environment used to pass the parameters
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
number of divisions calculated using eXcell, eYcell
Definition: EdbAlignmentMap.h:30
TVector3 eGV2
global offsets found by the test alignment (dx:dy:dz)
Definition: EdbAlignmentMap.h:27
int SelectSampleForShrinkageCorr(EdbPattern &p, EdbPattern &psel, float wmin, float wmax, float tmin, float tmax)
Definition: EdbAlignmentMap.cxx:618
EdbPattern * ePat1
big patterns to be splitted and aligned piece by piece
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
approximate zones size (for example 10000 microns)
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
service object for the zones selection
Definition: EdbAlignmentMap.h:25
TGraph2D * eGraphDY
Definition: EdbAlignmentMap.h:35
EdbCell2 eMap
in each cell TArratF with (x,y, dx,dy,dz1,dz2, n)
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
class to group 2-dim objects
Definition: EdbCell2.h:148
Definition: EdbPattern.h:273
Definition: EdbBrick.h:14
new alignment class developed mainly for compton search
Definition: EdbPositionAlignment.h:14
TEnv cenv("emrec")
TFile * file
Definition: write_pvr.C:3
Int_t plate
Definition: merge_Energy_SytematicSources_Electron.C:1
p
Definition: testBGReduction_AllMethods.C:8