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//______________________________________________________________________________
22class AcqMarksScanner : public TObject {
23
24private:
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
float Z0
Definition: hwinit.C:67
float DZ
Definition: hwinit.C:66
Double_t X
Definition: tlg2couples.C:76
Double_t Y
Definition: tlg2couples.C:76
Double_t Z
Definition: tlg2couples.C:104
#define NULL
Definition: nidaqmx.h:84