source: trunk/MagicSoft/Mars/mgui/MGeomCam.h@ 1300

Last change on this file since 1300 was 1216, checked in by tbretz, 23 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 1.3 KB
Line 
1#ifndef MARS_MGeomCam
2#define MARS_MGeomCam
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7#ifndef ROOT_TObjArray
8#include <TObjArray.h>
9#endif
10
11class MGeomPix;
12
13class MGeomCam : public MParContainer
14{
15private:
16 UInt_t fNumPixels; // Number of pixels in this camera
17 Float_t fMaxRadius; // maximum radius of the camera (eg. for GUI layout)
18
19 Float_t fCamDist; // [m] Average distance of the camera from the mirror
20 Float_t fMm2Deg; // conversion factor to convert mm in the camera plain into degrees
21
22 TObjArray *fPixels; // Array of singel pixels storing the geometry
23
24protected:
25 void CalcMaxRadius();
26
27public:
28
29 MGeomCam(UInt_t npix, Float_t dist, const char *name=NULL, const char *title=NULL);
30
31 virtual ~MGeomCam();
32
33 Float_t GetCameraDist() const { return fCamDist; }
34 Float_t GetConvMm2Deg() const { return fMm2Deg; }
35
36 UInt_t GetNumPixels() const { return fNumPixels; }
37 Float_t GetMaxRadius() const { return fMaxRadius; }
38
39 MGeomPix &operator[](Int_t i) { return *(MGeomPix*)fPixels->UncheckedAt(i); }
40 MGeomPix &operator[](Int_t i) const { return *(MGeomPix*)fPixels->UncheckedAt(i); }
41
42 virtual void Print(Option_t *opt=NULL) const;
43
44 ClassDef(MGeomCam, 1) // Geometry base class for the camera
45};
46
47#endif
48
Note: See TracBrowser for help on using the repository browser.