source: tags/Mars-V0.8.2/mgeom/MGeomMirror.h

Last change on this file was 1698, checked in by blanch, 22 years ago
*** empty log message ***
File size: 2.3 KB
Line 
1#ifndef MARS_MGeomMirror
2#define MARS_MGeomMirror
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7
8#ifndef ROOT_TArrayF
9#include <TArrayF.h>
10#endif
11
12class MGeomMirror : public MParContainer
13{
14private:
15 Int_t fMirrorId; // the Mirror Id
16
17 Float_t fFocalDist; // focal distance of that mirror [cm]
18 Float_t fSX; // curvilinear coordinate of mirror's center in X[cm]
19 Float_t fSY; // curvilinear coordinate of mirror's center in X[cm]
20 Float_t fX; // x coordinate of the center of the mirror [cm]
21 Float_t fY; // y coordinate of the center of the mirror [cm]
22 Float_t fZ; // z coordinate of the center of the mirror [cm]
23 Float_t fThetaN; // polar theta angle of the direction
24 // where the mirror points to
25 Float_t fPhiN; // polar phi angle of the direction
26 // where the mirror points to
27 Float_t fXN; // xn coordinate of the normal vector
28 // in the center
29 Float_t fYN; // yn coordinate of the normal vector
30 // in the center
31 Float_t fZN; // zn coordinate of the normal vector
32 // in the center
33 // Note: fXN^2*fYN^2*fZN^2 = 1
34 Float_t fDeviationX; // deviation in x [cm]
35 Float_t fDeviationY; // deviation in y [cm]
36 // of the spot of a single mirror on the camera plane
37 TArrayF fWavelength; // List of wavelength
38 TArrayF fReflectivity;// Mirror reflectivity
39
40public:
41 MGeomMirror(Int_t mir=-1, const char *name=NULL, const char *title=NULL);
42
43 Int_t GetMirrorId() const { return fMirrorId; }
44
45 void SetMirrorContent(Int_t mir, Float_t focal, Float_t curv_x,
46 Float_t curv_y, Float_t lin_x, Float_t lin_y,
47 Float_t lin_z, Float_t theta, Float_t phi,
48 Float_t x_n, Float_t y_n, Float_t z_n);
49 void SetMirrorDeviations(Float_t dev_x, Float_t dev_y);
50
51 void SetReflectivity(const TArrayF &wav, const TArrayF &ref);
52
53 void SetArraySize(Int_t dim) { fWavelength.Set(dim); fReflectivity.Set(dim); }
54
55 ClassDef(MGeomMirror, 2) // geometry class describing one mirror
56};
57
58#endif
59
60
Note: See TracBrowser for help on using the repository browser.