source: trunk/MagicSoft/Mars/mtemp/mifae/library/MDCA.h@ 3947

Last change on this file since 3947 was 3947, checked in by rico, 20 years ago
*** empty log message ***
File size: 3.8 KB
Line 
1#ifndef MARS_MDCA
2#define MARS_MDCA
3
4/////////////////////////////////////////////////////////////////////////////
5// //
6// MDCA.cc //
7// Container to store the DCA stuff //
8// //
9// Author(s): S.C. Commichau, L.S. Stark, 7/2003 //
10// //
11// //
12/////////////////////////////////////////////////////////////////////////////
13
14#include <TArrayF.h>
15#include <TEllipse.h>
16#include <TLine.h>
17#include <TCanvas.h>
18#include <TROOT.h>
19#include <TStyle.h>
20#include <TMath.h>
21#include <math.h>
22#include <TPad.h>
23#include <TRandom.h>
24#include <TRandom2.h>
25#include <fstream>
26#include <iostream>
27
28#include "MLog.h"
29#include "MLogManip.h"
30#include "MGeomCam.h"
31#include "MGeomPix.h"
32#include "MCerPhotPix.h"
33#include "MCerPhotEvt.h"
34#include "MHillas.h"
35
36// Add offsets to the Width and Length to draw nice lines
37#define OffsetW 20.0
38#define OffsetL 440.0
39
40#define kmm2Deg 0.00317460317
41#define TwoPi 6.28318530717958623
42
43class TArrayF;
44class TEllipse;
45class MGeoCam;
46class MCerPhotEvt;
47class MHillas;
48
49class MDCA : public MParContainer
50{
51 private:
52
53 Float_t fLength; // [mm] major axis of ellipse
54 Float_t fWidth; // [mm] minor axis of ellipse
55 Float_t fDelta0; // [rad] angle of major axis with x-axis (-Pi/2 .. Pi/2)
56 Float_t fDelta1; // [rad] my angle of major axis with x-axis (0 .. 2*Pi)
57 Float_t fMeanX; // [mm] x-coordinate of center of ellipse
58 Float_t fMeanY; // [mm] y-coordinate of center of ellipse
59 Float_t fX1W; // [mm] x-coordinate of 1st point of Lline
60 Float_t fY1W; // [mm] y-coordinate of 1st point of Lline
61 Float_t fX2W; // [mm] x-coordinate of 2nd point of Lline
62 Float_t fY2W; // [mm] y-coordinate of 2nd point of Lline
63 Float_t fX1L; // [mm] x-coordinate of 1st point of Wline
64 Float_t fY1L; // [mm] y-coordinate of 1st point of Wline
65 Float_t fX2L; // [mm] x-coordinate of 2nd point of Wline
66 Float_t fY2L; // [mm] y-coordinate of 2nd point of Wline
67 Double_t fDCA; // [mm] Distance of Cloasest Approach
68 Float_t fXDCA; // [mm] x-coordinate of 2nd point of the DCA-line
69 Float_t fYDCA; // [mm] y-coordinate of 2nd point of the DCA-line
70 Float_t fXRef; // [mm] x-coordinate of reference point
71 Float_t fYRef; // [mm] y-coordinate of reference point
72 Float_t fmu;
73 Float_t flambda;
74 Float_t fr1, fr2; // [mm] Coordinates of the orientation vector of the shower axis
75 Float_t fd1, fd2; // [mm] Coordinates of the DCA vector
76 Float_t gx, gy;
77
78 TEllipse *fEllipse; // Graphical object to draw the ellipse, ROOT!
79 TEllipse *fRefCircle; // To draw reference point
80
81 TLine *fLineL; // Shower axis
82 TLine *fLineW; // Line perpendicular to the shower axis
83 TLine *fLineX; // x-axis of the coordinate system
84 TLine *fLineY; // y-axis of the coordinate system
85 TLine *fLineDCA; // DCA line
86 TLine *fLineMean; // Line to COG of the shower
87
88 public:
89 MDCA(const char *name=NULL, const char *title=NULL);
90
91 ~MDCA();
92
93 void Reset();
94
95 Int_t Calc(const MGeomCam &geom, const MCerPhotEvt &pix, const MHillas &hil);
96
97 void Print(Option_t *opt=NULL) const;
98
99 void Paint(Option_t *opt=NULL);
100
101 void Clear(Option_t *opt=NULL);
102
103 void SetRefPoint(const Float_t fXRef0, const Float_t fYRef0);
104
105 Float_t GetDCA() const { return fDCA; }
106
107 Float_t GetDelta() const { return fDelta1; }
108
109 ClassDef(MDCA, 1)
110
111};
112
113#endif
114
115
116
117
118
Note: See TracBrowser for help on using the repository browser.