FEDRA emulsion software from the OPERA Collaboration
EdbMosaic.h
Go to the documentation of this file.
1 #ifndef ROOT_EdbMosaic
2 #define ROOT_EdbMosaic
3 
5 // //
6 // EdbMosaic //
7 // //
8 // //
10 #include <TFile.h>
11 #include <TEnv.h>
12 #include "EdbID.h"
13 #include "EdbMosaicIO.h"
14 #include "EdbMosaicPath.h"
15 #include "EdbFragmentAlignment.h"
16 #include "EdbPattern.h"
17 #include "EdbLayer.h"
18 #include "EdbViewMap.h"
19 #include "EdbRunAccess.h"
20 
21 //______________________________________________________________________________
22 class EdbMosaicAl : public TObject {
23  private:
24 
25  //TObjArray eVH; // list of all views headers
26 
28  EdbRunAccess eRAW; // run access for raw data
29  EdbCell2 eCF[3]; // grope headers by cells for sides 0,1,2
30  EdbMosaicIO eMIO; // mosaic output
31 
32  EdbLayer *eCorrMap[3]; // corrections for sides 0,1,2
33 
34  float eR0; // radius for neighbours search (~diagonal view size)
35  int eMinPeak; // minimum coincidences to accept alignment
36  AlPar eAP; // alignment parameters
37  TH2F *eH_XY[3]; // global histograms after the alignments (only 1 and 2 for now)
38  bool eDoSaveAlignments; // flag to save individual alignments
39  bool eNoAlign; // flag to skip alignments (HTS data case)
40 
41  public:
42  EdbMosaicAl(); //{eCorrMap[0]=eCorrMap[1]=eCorrMap[2]=0;}
43  virtual ~EdbMosaicAl();
44 
45  void InitH2( const TEnv &env );
46  void FormFragments( float fx, float fy, TObjArray &harr );
47  void AlignFragments();
48  void AlignFragment( EdbPattern &pf, TObjArray &a);
49  int ViewSideAl0(EdbPattern &p1, EdbPattern &p2);
50  void AlignSpot(TObjArray &parr, EdbMosaicPath &mp);
51  void ProcRun( EdbID id, const TEnv &cenv );
52 
55  void SetAlPar( const TEnv &env, AlPar &ap );
56  void FillHXY( const EdbPattern &pf, TH2F &h );
57 
58  ClassDef(EdbMosaicAl,1) //Mosaic alignment
59 };
60 
61 
62 #endif /* ROOT_EdbMosaic */
63 
void a()
Definition: check_aligned.C:59
Definition: EdbCell2.h:151
Definition: EdbFragmentAlignment.h:35
Definition: EdbID.h:7
Definition: EdbLayer.h:40
Definition: EdbMosaic.h:22
void FillHXY(const EdbPattern &pf, TH2F &h)
Definition: EdbMosaic.cxx:180
virtual ~EdbMosaicAl()
Definition: EdbMosaic.cxx:31
void InitH2(const TEnv &env)
Definition: EdbMosaic.cxx:41
float eR0
Definition: EdbMosaic.h:34
bool eNoAlign
Definition: EdbMosaic.h:39
EdbCell2 eCF[3]
Definition: EdbMosaic.h:29
AlPar eAP
Definition: EdbMosaic.h:36
int ViewSideAl0(EdbPattern &p1, EdbPattern &p2)
Definition: EdbMosaic.cxx:268
void AlignFragments()
Definition: EdbMosaic.cxx:132
void AlignSpot(TObjArray &parr, EdbMosaicPath &mp)
Definition: EdbMosaic.cxx:245
void AlignFragment(EdbPattern &pf, TObjArray &a)
Definition: EdbMosaic.cxx:206
EdbLayer * eCorrMap[3]
Definition: EdbMosaic.h:32
void FormFragments(float fx, float fy, TObjArray &harr)
Definition: EdbMosaic.cxx:296
void SetAlPar(const TEnv &env, AlPar &ap)
Definition: EdbMosaic.cxx:117
void ProcRun(EdbID id, const TEnv &cenv)
Definition: EdbMosaic.cxx:58
EdbRunAccess eRAW
Definition: EdbMosaic.h:28
bool eDoSaveAlignments
Definition: EdbMosaic.h:38
EdbID eID
Definition: EdbMosaic.h:27
int eMinPeak
Definition: EdbMosaic.h:35
TH2F * eH_XY[3]
Definition: EdbMosaic.h:37
void ReadPatterns(EdbFragmentAlignment &fa)
Definition: EdbMosaic.cxx:191
EdbMosaicAl()
Definition: EdbMosaic.cxx:22
void AlignFragments_new()
EdbMosaicIO eMIO
Definition: EdbMosaic.h:30
Definition: EdbMosaicIO.h:15
Definition: EdbMosaicPath.h:20
Definition: EdbPattern.h:280
Definition: EdbRunAccess.h:22
TEnv cenv("emrec")
Definition: EdbFragmentAlignment.h:22