FEDRA emulsion software from the OPERA Collaboration
EdbCorrectionMapper.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbCorrectionMapper
2 #define ROOT_EdbCorrectionMapper
3 
4 #include "EdbCell2.h"
5 #include "EdbSegP.h"
6 #include "EdbAlignmentV.h"
7 class TCanvas;
8 
9 //-------------------------------------------------------------------------------------------------
10 class EdbCorrectionBin : public TObject
11 {
12  public:
13 
15 
17 
18  public:
20  virtual ~EdbCorrectionBin();
21 
23 
24  virtual void CalculateCorrections();
26 
27  ClassDef(EdbCorrectionBin,1) // corrections bin
28 };
29 
30 //-------------------------------------------------------------------------------------------------
32 {
33  public:
34  EdbCell2 eMapAl; // working object with local alignments
35  EdbCorrectionMap eMap; // result: corrections map
36 
37  EdbH2 eHdxy; // dxdy
38  EdbH2 eHdtxy; // dtxdty
39  EdbH1 eHdz; // dz
40  EdbH1 eHshr; //
41 
43 
46 
48  float eZ1, eZ2;
49 
50  int eNcpMin; // min number of coincidences to accept correction
51 
52  public:
54  virtual ~EdbCorrectionMapper();
55 
56  int InitMap(int nx, float minx, float maxx, int ny, float miny, float maxy );
57  EdbCorrectionBin *GetBin(int i) { return (EdbCorrectionBin*)(eMapAl.GetObject( i, 0)); }
58  EdbCorrectionBin *GetBin(float x, float y) { return (EdbCorrectionBin*)(eMapAl.GetObject(x, y, 0)); }
59 
60  void CalculateCorrections();
61  void MakeCorrectionsTable();
63  void AddSegCouple(EdbSegP *s1, EdbSegP *s2);
64  void Fill(EdbSegP &s1, EdbSegP &s2);
66  void Write(const char *suffix = "");
67  TCanvas *DrawSum(const char *suffix);
68  TCanvas *DrawMap(EdbCorrectionMap &map, const char *suffix = "");
69  void SetCorrDZ();
70  EdbH2 *MapDZ();
71  EdbH2 *MapDV(int ivar);
72 
73  void SmoothCorrections();
74 
75  ClassDef(EdbCorrectionMapper,1) // to calculate correction map
76 };
77 
78 #endif /* ROOT_EdbCorrectionMapper */
Definition: EdbAlignmentV.h:13
void AddSegCouple(EdbSegP *s1, EdbSegP *s2)
Definition: EdbAlignmentV.h:78
Definition: EdbCell2.h:151
TObject * GetObject(float x, float y, int ientr) const
Definition: EdbCell2.h:199
Definition: EdbCorrectionMapper.h:11
void AddBin(EdbCorrectionBin &bin)
Definition: EdbCorrectionMapper.cxx:36
virtual void CalculateCorrections()
Definition: EdbCorrectionMapper.cxx:46
EdbLayer eLayer
Definition: EdbCorrectionMapper.h:16
EdbAlignmentV eAl
Definition: EdbCorrectionMapper.h:14
virtual void AddSegCouple(EdbSegP *s1, EdbSegP *s2)
Definition: EdbCorrectionMapper.h:22
virtual ~EdbCorrectionBin()
Definition: EdbCorrectionMapper.cxx:31
EdbCorrectionBin()
Definition: EdbCorrectionMapper.cxx:27
Definition: EdbLayer.h:13
Definition: EdbCorrectionMapper.h:32
void CalculateCorrections()
Definition: EdbCorrectionMapper.cxx:92
EdbID eID1
Definition: EdbCorrectionMapper.h:47
void AddSegCouple(EdbSegP *s1, EdbSegP *s2)
Definition: EdbCorrectionMapper.cxx:297
TCanvas * DrawMap(EdbCorrectionMap &map, const char *suffix="")
Definition: EdbCorrectionMapper.cxx:166
EdbCell2 eMapAl
Definition: EdbCorrectionMapper.h:34
EdbH2 eHtxty1
Definition: EdbCorrectionMapper.h:45
EdbH2 eHdty_ty
Definition: EdbCorrectionMapper.h:42
EdbH1 eHshr
Definition: EdbCorrectionMapper.h:40
void MakeCorrectionsTable()
Definition: EdbCorrectionMapper.cxx:247
EdbH2 eHxy2
Definition: EdbCorrectionMapper.h:44
EdbH1 eHdz
Definition: EdbCorrectionMapper.h:39
void Write(const char *suffix="")
Definition: EdbCorrectionMapper.cxx:116
void SetCorrDZ()
Definition: EdbCorrectionMapper.cxx:67
int eNcpMin
Definition: EdbCorrectionMapper.h:50
EdbH2 * MapDV(int ivar)
Definition: EdbCorrectionMapper.cxx:103
virtual ~EdbCorrectionMapper()
Definition: EdbCorrectionMapper.cxx:62
void UpdateLayerWithLocalCorr(EdbLayer &la)
Definition: EdbCorrectionMapper.cxx:241
EdbH2 eHdtxy
Definition: EdbCorrectionMapper.h:38
EdbH2 eHtxty2
Definition: EdbCorrectionMapper.h:45
float eZ1
Definition: EdbCorrectionMapper.h:48
EdbCorrectionBin * GetBin(float x, float y)
Definition: EdbCorrectionMapper.h:58
EdbCorrectionBin * GetBin(int i)
Definition: EdbCorrectionMapper.h:57
void SmoothCorrections()
Definition: EdbCorrectionMapper.cxx:261
void FillS(EdbSegP *s1, EdbSegP *s2)
Definition: EdbCorrectionMapper.h:65
EdbCorrectionMap eMap
Definition: EdbCorrectionMapper.h:35
int InitMap(int nx, float minx, float maxx, int ny, float miny, float maxy)
Definition: EdbCorrectionMapper.cxx:283
EdbCorrectionMapper()
Definition: EdbCorrectionMapper.cxx:57
TCanvas * DrawSum(const char *suffix)
Definition: EdbCorrectionMapper.cxx:128
EdbH2 eHxy1
Definition: EdbCorrectionMapper.h:44
float eZ2
Definition: EdbCorrectionMapper.h:48
EdbH2 * MapDZ()
Definition: EdbCorrectionMapper.cxx:78
EdbID eID2
Definition: EdbCorrectionMapper.h:47
EdbH2 eHdxy
Definition: EdbCorrectionMapper.h:37
void Fill(EdbSegP &s1, EdbSegP &s2)
Definition: EdbCorrectionMapper.cxx:305
Definition: EdbCell1.h:17
Definition: EdbCell2.h:19
Definition: EdbID.h:7
Definition: EdbLayer.h:40
Definition: EdbSegP.h:18
int nx
Definition: emthickness.cpp:60
float bin
Definition: emthickness.cpp:98
int ny
Definition: emthickness.cpp:62
new TCanvas()
EdbSegP * s1
Definition: tlg2pattern.C:30
EdbSegP * s2
Definition: tlg2pattern.C:31