source: trunk/MagicSoft/Mars/mgeom/MGeomCam.h@ 2377

Last change on this file since 2377 was 2236, checked in by tbretz, 21 years ago
*** empty log message ***
File size: 1.4 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 fConvMm2Deg; // conversion factor to convert mm in the camera plain into degrees
21
22 TObjArray fPixels; // Array of singel pixels storing the geometry
23
24 UInt_t fNumSectors; // Number of sectors
25
26protected:
27 void CalcMaxRadius();
28 void CalcNumSectors();
29 void InitOuterRing();
30
31public:
32 MGeomCam();
33 MGeomCam(UInt_t npix, Float_t dist, const char *name=NULL, const char *title=NULL);
34
35 virtual TObject *Clone(const char *newname=NULL) const;
36
37 Float_t GetCameraDist() const { return fCamDist; }
38 Float_t GetConvMm2Deg() const { return fConvMm2Deg; }
39
40 UInt_t GetNumPixels() const { return fNumPixels; }
41 Float_t GetMaxRadius() const { return fMaxRadius; }
42 UInt_t GetNumSectors() const { return fNumSectors; }
43 Float_t GetPixRatio(UInt_t i) const;
44
45 MGeomPix &operator[](Int_t i);
46 MGeomPix &operator[](Int_t i) const;
47
48 virtual void Print(Option_t *opt=NULL) const;
49
50 ClassDef(MGeomCam, 1) // Geometry base class for the camera
51};
52
53#endif
54
Note: See TracBrowser for help on using the repository browser.