FEDRA emulsion software from the OPERA Collaboration
EdbStage.h
Go to the documentation of this file.
1#ifndef ROOT_EdbStage
2#define ROOT_EdbStage
5
11
12#ifndef ROOT_TNamed
13#include "TNamed.h"
14#endif
15
16#ifndef ROOT_EdbAffine
17#include "EdbAffine.h"
18#endif
19
21class EdbCCD : public TNamed {
22
23private:
24 Int_t eNx;
25 Int_t eNy;
26 Float_t ePixX;
27 Float_t ePixY;
28
29public:
30 EdbCCD( float px=0, float py=0, int nx=0, int ny=0 ): TNamed(),
31 eNx(nx), eNy(ny), ePixX(px), ePixY(py) {}
32 virtual ~EdbCCD() {}
33
34 void Set(int nx=0, int ny=0, float px=0, float py=0)
35 { eNx=nx; eNy=ny; ePixX=px; ePixY=py; }
36
37 Int_t GetNx() const { return eNx; }
38 Int_t GetNy() const { return eNy; }
39 Float_t GetPixX() const { return ePixX; }
40 Float_t GetPixY() const { return ePixY; }
41
42 int ReadParameters( const char *str );
43
44 void Print(Option_t *opt="") const;
45
46 ClassDef(EdbCCD,2) // CCD camera specification
47};
48
50class EdbObjective : public TNamed {
51
52 private:
54
56
57 public:
58 EdbObjective( float mag=0 );
59 virtual ~EdbObjective();
60
61 void Set( float mag,
62 float a, float b, float c, float d, float p, float q )
64 eCCD2Stage->Set(a,b,c,d,p,q); }
65
67
68 void SetCCD2Stage( float a, float b, float c, float d, float p, float q )
69 { eCCD2Stage->Set(a,b,c,d,p,q); }
70
71 Float_t GetMagnification() const { return eMagnification; }
72 EdbAffine2D *GetCCD2Stage() const { return eCCD2Stage; }
73
74 Float_t PixelX() const { return TMath::Abs(eCCD2Stage->A11()); }
75 Float_t PixelY() const { return TMath::Abs(eCCD2Stage->A22()); }
76
77 int ReadParameters( const char *str );
78 void Print(Option_t *opt="") const;
79
80 ClassDef(EdbObjective,2) // objective affine parameters
81};
82
83
85class EdbStage : public TNamed {
86
87 private:
88
91
93
94 public:
96 virtual ~EdbStage();
97
98 EdbAffine2D *CCD2Stage() const;
100
101 Float_t PixelX() const { return eObjective->PixelX(); }
102 Float_t PixelY() const { return eObjective->PixelY(); }
103
104 EdbCCD *GetCCD() const { return eCCD; }
107
108 void Print(Option_t *opt="") const;
109
110 ClassDef(EdbStage,2) // stage parameters
111};
112
113#endif /* ROOT_EdbStage */
T mag(const SVector< T, D > &rhs)
Definition: Functions.hh:216
void d()
Definition: RecDispEX.C:381
void a()
Definition: check_aligned.C:59
Definition: EdbAffine.h:17
Float_t A22() const
Definition: EdbAffine.h:46
void Set(EdbAffine2D &a)
Definition: EdbAffine.h:36
Float_t A11() const
Definition: EdbAffine.h:43
Definition: EdbAffine.h:86
CCD camera specification.
Definition: EdbStage.h:21
EdbCCD(float px=0, float py=0, int nx=0, int ny=0)
Definition: EdbStage.h:30
Int_t GetNx() const
Definition: EdbStage.h:37
int ReadParameters(const char *str)
Definition: EdbStage.cxx:94
void Set(int nx=0, int ny=0, float px=0, float py=0)
Definition: EdbStage.h:34
Float_t ePixY
physical pixel size in microns along Y
Definition: EdbStage.h:27
void Print(Option_t *opt="") const
Definition: EdbStage.cxx:109
Float_t GetPixX() const
Definition: EdbStage.h:39
Float_t GetPixY() const
Definition: EdbStage.h:40
virtual ~EdbCCD()
Definition: EdbStage.h:32
Float_t ePixX
physical pixel size in microns along X
Definition: EdbStage.h:26
Int_t GetNy() const
Definition: EdbStage.h:38
Int_t eNy
number of pixels along Y (number of rows)
Definition: EdbStage.h:25
Int_t eNx
number of pixels along X (number of columns)
Definition: EdbStage.h:24
objective affine parameters
Definition: EdbStage.h:50
void SetCCD2Stage(float a, float b, float c, float d, float p, float q)
Definition: EdbStage.h:68
Float_t eMagnification
Definition: EdbStage.h:53
EdbAffine2D * GetCCD2Stage() const
Definition: EdbStage.h:72
int ReadParameters(const char *str)
Definition: EdbStage.cxx:153
void Print(Option_t *opt="") const
Definition: EdbStage.cxx:171
virtual ~EdbObjective()
Definition: EdbStage.cxx:147
EdbAffine2D * eCCD2Stage
from CCD pixels to stage microns
Definition: EdbStage.h:55
EdbObjective(float mag=0)
Definition: EdbStage.cxx:140
void SetMagnification(float mag)
Definition: EdbStage.h:66
Float_t GetMagnification() const
Definition: EdbStage.h:71
void Set(float mag, float a, float b, float c, float d, float p, float q)
Definition: EdbStage.h:61
Float_t PixelX() const
Definition: EdbStage.h:74
Float_t PixelY() const
Definition: EdbStage.h:75
stage parameters
Definition: EdbStage.h:85
EdbObjective * GetObjective() const
Definition: EdbStage.h:105
Float_t PixelX() const
Definition: EdbStage.h:101
void Print(Option_t *opt="") const
Definition: EdbStage.cxx:60
EdbAffine3D * eEncoders2Stage
XYZ encoders to Stage affine transformation parameters.
Definition: EdbStage.h:92
EdbObjective * eObjective
Objective parameters.
Definition: EdbStage.h:90
EdbCCD * eCCD
CDD matrix physical parameters.
Definition: EdbStage.h:89
virtual ~EdbStage()
Definition: EdbStage.cxx:28
EdbAffine3D * Encoders2Stage() const
create new object with copied affine parameters
Definition: EdbStage.cxx:187
EdbAffine2D * CCD2Stage() const
create new object with copied affine parameters
Definition: EdbStage.cxx:180
Float_t PixelY() const
Definition: EdbStage.h:102
EdbCCD * GetCCD() const
Definition: EdbStage.h:104
EdbAffine3D * GetEncoders2Stage() const
Definition: EdbStage.h:106
const char * opt
Definition: mc2raw.cxx:42
q
Definition: testBGReduction_AllMethods.C:55
p
Definition: testBGReduction_AllMethods.C:8