| 1 | #ifndef MARS_MGeomMirror
|
|---|
| 2 | #define MARS_MGeomMirror
|
|---|
| 3 |
|
|---|
| 4 | #ifndef MARS_MParContainer
|
|---|
| 5 | #include "MParContainer.h"
|
|---|
| 6 | #endif
|
|---|
| 7 |
|
|---|
| 8 | class MGeomMirror : public MParContainer
|
|---|
| 9 | {
|
|---|
| 10 | private:
|
|---|
| 11 | Int_t fMirrorId; // the Mirror Id
|
|---|
| 12 |
|
|---|
| 13 | Float_t fFocalDist; // focal distance of that mirror [cm]
|
|---|
| 14 | Float_t fSX; // curvilinear coordinate of mirror's center in X[cm]
|
|---|
| 15 | Float_t fSY; // curvilinear coordinate of mirror's center in X[cm]
|
|---|
| 16 | Float_t fX; // x coordinate of the center of the mirror [cm]
|
|---|
| 17 | Float_t fY; // y coordinate of the center of the mirror [cm]
|
|---|
| 18 | Float_t fZ; // z coordinate of the center of the mirror [cm]
|
|---|
| 19 | Float_t fThetaN; // polar theta angle of the direction
|
|---|
| 20 | // where the mirror points to
|
|---|
| 21 | Float_t fPhiN; // polar phi angle of the direction
|
|---|
| 22 | // where the mirror points to
|
|---|
| 23 | Float_t fXN; // xn coordinate of the normal vector
|
|---|
| 24 | // in the center
|
|---|
| 25 | Float_t fYN; // yn coordinate of the normal vector
|
|---|
| 26 | // in the center
|
|---|
| 27 | Float_t fZN; // zn coordinate of the normal vector
|
|---|
| 28 | // in the center
|
|---|
| 29 | // Note: fXN^2*fYN^2*fZN^2 = 1
|
|---|
| 30 | Float_t fDeviationX; // deviation in x [cm]
|
|---|
| 31 | Float_t fDeviationY; // deviation in y [cm]
|
|---|
| 32 | // of the spot of a single mirror on the camera plane
|
|---|
| 33 | public:
|
|---|
| 34 | MGeomMirror(Int_t mir=-1, const char *name=NULL, const char *title=NULL);
|
|---|
| 35 |
|
|---|
| 36 | Int_t GetMirrorId() const { return fMirrorId; }
|
|---|
| 37 |
|
|---|
| 38 | void SetMirrorContent(Int_t mir, Float_t focal, Float_t curv_x,
|
|---|
| 39 | Float_t curv_y, Float_t lin_x, Float_t lin_y,
|
|---|
| 40 | Float_t lin_z, Float_t theta, Float_t phi,
|
|---|
| 41 | Float_t x_n, Float_t y_n, Float_t z_n,
|
|---|
| 42 | Float_t dev_x, Float_t dev_y);
|
|---|
| 43 |
|
|---|
| 44 | ClassDef(MGeomMirror, 1) // geometry class describing one mirror
|
|---|
| 45 | };
|
|---|
| 46 |
|
|---|
| 47 | #endif
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|