source: branches/Mars_McMismatchStudy/mimage/MStereoPar.h@ 18165

Last change on this file since 18165 was 8916, checked in by tbretz, 16 years ago
*** empty log message ***
File size: 2.8 KB
Line 
1#ifndef MARS_MStereoPar
2#define MARS_MStereoPar
3
4#ifndef MARS_MParContainer
5#include "MParContainer.h"
6#endif
7
8#ifndef ROOT_TVector3
9#include <TVector3.h>
10#endif
11
12class MHillas;
13class MGeomCam;
14class MPointingPos;
15
16class MStereoPar : public MParContainer
17{
18private:
19
20 Float_t fCoreX; // Estimated core position on ground x
21 Float_t fCoreY; // Estimated core position on ground y
22
23 Float_t fCoreX2; // Estimated core position on ground assuming that
24 Float_t fCoreY2; // the source direction is paralel to the tel. axis.
25
26 Float_t fSourceX; // Estimated source position on the camera
27 Float_t fSourceY; // Units are degrees!
28
29 Float_t fTheta2; // deg^2; Squared angular distance of estimated source position to cameracenter.
30
31 Float_t fCT1Impact; // Estimated shower impact parameter from CT1
32 Float_t fCT2Impact; // Estimated shower impact parameter from CT2
33
34 Float_t fCT1Impact2; // Estimated shower impact parameter from CT1
35 // assuming that the source direction is paralel
36 // to the telescope axis.
37
38 Float_t fCT2Impact2; // Estimated shower impact parameter from CT2
39 // assuming that the source direction is paralel
40 // to the telescope axis.
41
42 TVector3 CamToDir(const MGeomCam &geom, const MPointingPos &pos, Float_t x, Float_t y) const;
43 TVector3 CamToDir(const MGeomCam &geom, const MPointingPos &pos, const TVector2 &p) const;
44
45 void CalcCT(const MHillas &h, const MPointingPos &p, const MGeomCam &g, TVector2 &cv1, TVector2 &cv2) const;
46
47 TVector2 VersorToCore(const TVector2 &v1, const TVector2 &v2, const TVector2 &p1, const TVector2 &p2) const;
48
49 Double_t CalcImpact(const TVector2 &w, const TVector2 &v, const TVector2 &p) const;
50 Double_t CalcImpact(const TVector3 &v, const TVector2 &p) const;
51 Double_t CalcImpact(const TVector2 &core, const TVector2 &p, const MPointingPos &point) const;
52
53public:
54 MStereoPar(const char *name=NULL, const char *title=NULL);
55
56 void Reset();
57
58 Float_t GetCoreX() const { return fCoreX; }
59 Float_t GetCoreY() const { return fCoreY; }
60 Float_t GetSourceX() const { return fSourceX; }
61 Float_t GetSourceY() const { return fSourceY; }
62 Float_t GetTheta2() const { return fTheta2; }
63 Float_t GetCT1Impact() const { return fCT1Impact; }
64 Float_t GetCT2Impact() const { return fCT2Impact; }
65 Float_t GetCT1Impact2() const { return fCT1Impact2; }
66 Float_t GetCT2Impact2() const { return fCT2Impact2; }
67
68 void Calc(const MHillas &h1, const MPointingPos &p1, const MGeomCam &g1, const Float_t ct1_x, const Float_t ct1_y,
69 const MHillas &h2, const MPointingPos &p2, const MGeomCam &g2, const Float_t ct2_x, const Float_t ct2_y);
70
71 ClassDef(MStereoPar, 1) // Container to hold new image parameters
72};
73
74#endif
Note: See TracBrowser for help on using the repository browser.