FEDRA emulsion software from the OPERA Collaboration
AcqMarksScanner.h
Go to the documentation of this file.
1 #ifndef ROOT_AcqMarksScanner
2 #define ROOT_AcqMarksScanner
4 // //
5 // AcqMarksScanner //
6 // //
7 // Interface to Fiducial Marks Scanner //
8 // //
10 #include <cstdio>
11 #include <cstdlib>
12 #include <string>
13 #include <ctime>
14 
15 #include "AcqStage1.h"
16 #include "TObject.h"
17 #include "AcqOdyssey.h"
18 #include "EdbFiducial.h"
19 #include "EdbAffine.h"
20 
21 //______________________________________________________________________________
22 class AcqMarksScanner : public TObject {
23 
24 private:
25 // AcqStage1* ST;
26 // AcqOdyssey* FG;
27 
28  public:
30  virtual ~AcqMarksScanner();
31  bool SetPointers(AcqStage1* stg, AcqOdyssey* ody ){ST=stg ; FG=ody; return 1;};
32  bool SetMapext(char * mapext);
33  bool GotoMark(int Id);
34  int ScanView(float Z0, float DZ);
35  bool SearchMark(float *X=NULL, float *Y=NULL, float *Z=NULL);
36  bool SearchMarkFast(float *X=NULL, float *Y=NULL, float *Z=NULL);
37  bool ScanMark( float *X=NULL, float *Y=NULL, float *Z=NULL);
38  bool ScanMarks();
45  int Side;
46  bool IsValid;
47  float FPS; //Frames per second to use when scanning FM's (max ~220 presently, 200 is safe)
48  int Layers; // Layers to scan ( default 10)
49  int Threshold; // Pixel pulsehight threshold to use for clustering (0-255)
50  float MarkDiameter; // Nominal mark diameter [mic]
51  float MarkDiameterTolerance; // tolerance [mic]
52  int ViewsToScan; // Number ov views to scan when searching for FM (in spiral pattern)
53  float StepX,StepY; // steps between adjacent views in spiral pattern
54  float XYScanSpeed; // view-to-view move speed [mic/s]
55 
56 
57 
58  ClassDef(AcqMarksScanner,1)
59 };
60 
61 
62 
63 #endif /* ROOT_AcqMarksScanner */
Definition: AcqMarksScanner.h:22
EdbAffine2D * eAffine2D
Definition: AcqMarksScanner.h:42
bool ScanMarks()
Definition: AcqMarksScanner.cxx:386
float FPS
Definition: AcqMarksScanner.h:47
float XYScanSpeed
Definition: AcqMarksScanner.h:54
EdbArea * eArea
Definition: AcqMarksScanner.h:39
virtual ~AcqMarksScanner()
Definition: AcqMarksScanner.cxx:36
float StepY
Definition: AcqMarksScanner.h:53
AcqStage1 * ST
Definition: AcqMarksScanner.h:43
AcqOdyssey * FG
Definition: AcqMarksScanner.h:44
EdbMarksSet * eMarksSet
Definition: AcqMarksScanner.h:40
float MarkDiameter
Definition: AcqMarksScanner.h:50
float MarkDiameterTolerance
Definition: AcqMarksScanner.h:51
int Layers
Definition: AcqMarksScanner.h:48
EdbMarksSet * eFoundMarksSet
Definition: AcqMarksScanner.h:41
bool SetPointers(AcqStage1 *stg, AcqOdyssey *ody)
Definition: AcqMarksScanner.h:31
int ViewsToScan
Definition: AcqMarksScanner.h:52
int Threshold
Definition: AcqMarksScanner.h:49
bool ScanMark(float *X=NULL, float *Y=NULL, float *Z=NULL)
Definition: AcqMarksScanner.cxx:280
bool SearchMarkFast(float *X=NULL, float *Y=NULL, float *Z=NULL)
Definition: AcqMarksScanner.cxx:210
bool SetMapext(char *mapext)
Definition: AcqMarksScanner.cxx:43
float StepX
Definition: AcqMarksScanner.h:53
int ScanView(float Z0, float DZ)
Definition: AcqMarksScanner.cxx:113
bool IsValid
Definition: AcqMarksScanner.h:46
bool GotoMark(int Id)
Definition: AcqMarksScanner.cxx:77
int Side
Definition: AcqMarksScanner.h:45
AcqMarksScanner()
Definition: AcqMarksScanner.cxx:18
bool SearchMark(float *X=NULL, float *Y=NULL, float *Z=NULL)
Definition: AcqMarksScanner.cxx:163
Definition: AcqOdyssey.h:49
Definition: AcqStage1.h:134
Definition: EdbAffine.h:17
Definition: EdbFiducial.h:134
Definition: EdbFiducial.h:88
struct @8 Z
float Z0
Definition: hwinit.C:67
float DZ
Definition: hwinit.C:66
Double_t X
Definition: tlg2pattern.C:77
Double_t Y
Definition: tlg2pattern.C:77
#define NULL
Definition: nidaqmx.h:84