source: trunk/MagicSoft/Mars/macros/readMagic.C@ 1541

Last change on this file since 1541 was 1540, checked in by tbretz, 22 years ago
*** empty log message ***
File size: 2.8 KB
Line 
1/* ======================================================================== *\
2!
3! *
4! * This file is part of MARS, the MAGIC Analysis and Reconstruction
5! * Software. It is distributed to you in the hope that it can be a useful
6! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
7! * It is distributed WITHOUT ANY WARRANTY.
8! *
9! * Permission to use, copy, modify and distribute this software and its
10! * documentation for any purpose is hereby granted without fee,
11! * provided that the above copyright notice appear in all copies and
12! * that both that copyright notice and this permission notice appear
13! * in supporting documentation. It is provided "as is" without express
14! * or implied warranty.
15! *
16!
17!
18! Author(s): Thomas Bretz 12/2000 <mailto:tbretz@uni-sw.gwdg.de>
19!
20! Copyright: MAGIC Software Development, 2000-2001
21!
22!
23\* ======================================================================== */
24
25
26Bool_t HandleInput()
27{
28 TTimer timer("gSystem->ProcessEvents();", 50, kFALSE);
29 while (1)
30 {
31 //
32 // While reading the input process gui events asynchronously
33 //
34 timer.TurnOn();
35 TString input = Getline("Type 'q' to exit, <return> to go on: ");
36 timer.TurnOff();
37
38 if (input=="q\n")
39 return kFALSE;
40
41 if (input=="\n")
42 return kTRUE;
43 };
44
45 return kFALSE;
46}
47
48void readMagic(const char *fname="~/data/Gamma_0_7*.root")
49{
50 MParList plist;
51
52 MGeomCamMagic geomcam;
53 MHillasExt hillas;
54 MTaskList tlist;
55
56 plist.AddToList(&geomcam);
57 plist.AddToList(&hillas);
58 plist.AddToList(&tlist);
59
60 MReadMarsFile read("Events", fname);
61 read.DisableAutoScheme();
62
63 MPrint print("MMcEvt");
64 MMcPedestalCopy pcopy;
65 MMcPedestalNSBAdd pnsb;
66 MCerPhotCalc ncalc;
67 MBlindPixelCalc blind;
68 blind.SetUseInterpolation();
69 MClone clone("MCerPhotEvt");
70 MImgCleanStd clean;
71 MHillasCalc hcalc;
72
73
74 tlist.AddToList(&read);
75 tlist.AddToList(&print);
76 tlist.AddToList(&pcopy);
77 tlist.AddToList(&pnsb);
78 tlist.AddToList(&ncalc);
79 tlist.AddToList(&blind);
80 tlist.AddToList(&clone);
81 tlist.AddToList(&clean);
82 tlist.AddToList(&hcalc);
83
84 MEvtLoop evtloop;
85 evtloop.SetParList(&plist);
86
87 if (!evtloop.PreProcess())
88 return;
89
90 MCamDisplay display(&geomcam);
91 display.Draw();
92
93 while (tlist.Process())
94 {
95 cout << "Event #" << read.GetEventNum() ":" << endl;
96
97 display.DrawPhotNum((MCerPhotEvt*)clone.GetClone());
98
99 if (!HandleInput())
100 break;
101
102 hillas.Print();
103 hillas.Draw();
104
105 display.DrawPhotNum((MCerPhotEvt*)plist.FindObject("MCerPhotEvt"));
106
107 if (!HandleInput())
108 break;
109 }
110
111 evtloop.PostProcess();
112}
113
Note: See TracBrowser for help on using the repository browser.