1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
---|
2 | <HTML>
|
---|
3 | <HEAD>
|
---|
4 | <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
---|
5 | <META NAME="GENERATOR" CONTENT="Mozilla/4.08 [en] (X11; I; OSF1 V4.0 alpha) [Netscape]">
|
---|
6 | <TITLE> CVS for Magic Software Development </TITLE>
|
---|
7 | </HEAD>
|
---|
8 | <BODY>
|
---|
9 | <! This is my first attempt at my personal WWW home page. ><! It has become necessary to create this mainly because my ><! hotlist has grown into something so extremely large that it ><! is impossible to find a way through it any longer... >
|
---|
10 | <CENTER>
|
---|
11 | <H1>
|
---|
12 | <FONT COLOR="#992277">CVS for Magic Software Development</FONT></H1></CENTER>
|
---|
13 |
|
---|
14 | <HR>
|
---|
15 | <H3>
|
---|
16 | <A NAME="Anchor_Introduction"></A><FONT COLOR="#FF0000"><FONT SIZE=+2>Introduction</FONT></FONT></H3>
|
---|
17 | More than one software developer are involved in the progress of Software
|
---|
18 | for the MAGIC telescope. Because the developers are distributed all over
|
---|
19 | Europe, a version control system is needed. There exists more than one
|
---|
20 | possibility of such version control systems, but for the beginning we take
|
---|
21 | CVS ( Concurrent Versions System ).
|
---|
22 | <P>CVS is a version control system, which allows you to keep old versions
|
---|
23 | of files (usually source code), keep a log of who, when, and why changes
|
---|
24 | occurred, etc., like RCS or SCCS. Unlike the simpler systems, CVS does
|
---|
25 | not just operate on one file at a time or one directory at a time, but
|
---|
26 | operates on hierarchical collections of directories consisting of version
|
---|
27 | controlled files. CVS helps to manage releases and to control the concurrent
|
---|
28 | editing of source files among multiple authors. CVS allows triggers to
|
---|
29 | enable/log/control various operations and works well over a wide area network.
|
---|
30 | <P>CVS keeps a single copy of the master sources. This copy is called the
|
---|
31 | source ``repository''; it contains all the information to permit extracting
|
---|
32 | previous software releases at any time based on either a symbolic revision
|
---|
33 | tag, or a date in the past.
|
---|
34 | <P>For CVS updates, more information on documentation, software related
|
---|
35 | to CVS, development of CVS, and more, see:
|
---|
36 | <BR> <A HREF="http://www.cyclic.com">http://www.cyclic.com</A>
|
---|
37 | <BR> <A HREF="http://www.loria.fr/~molli/cvs-index.html">http://www.loria.fr/~molli/cvs-index.html</A>
|
---|
38 | <BR>
|
---|
39 | <P>
|
---|
40 | <HR WIDTH="100%">
|
---|
41 | <BR><A NAME="Anchor_Repository"></A><B><FONT COLOR="#FF0000"><FONT SIZE=+2>Repository</FONT></FONT></B>
|
---|
42 | <P>The single copy of the master source for all MAGIC software is held
|
---|
43 | in the repository on a single (security reasons) linux computer in Max-Planck-Institut
|
---|
44 | für Physik in Munich. As a remote developer you must declare the environment
|
---|
45 | variable.
|
---|
46 | <P><B><FONT COLOR="#33FF33">setenv CVSROOT :ext:pchegra4.mppmu.mpg.de:/CvsRepository </FONT></B>
|
---|
47 | for tcsh (use the syntax of your shell)
|
---|
48 | <P><BLINK>The access from other computers is still under construction and
|
---|
49 | tests.</BLINK>
|
---|
50 | <P>If you want access please inform<A HREF="mailto:harald@hegra1.mppmu.mpg.de">
|
---|
51 | Harald Kornmayer </A> in Munich. For more details about the structure
|
---|
52 | of the repository see <A HREF="#Anchor_StructureRepository">here.</A>
|
---|
53 | <BR>
|
---|
54 | <P>
|
---|
55 | <HR WIDTH="100%">
|
---|
56 | <BR><A NAME="Anchor_JustforBeginners"></A><B><FONT COLOR="#FF0000"><FONT SIZE=+2>Just
|
---|
57 | for Beginners</FONT></FONT></B>
|
---|
58 | <P>All developers should use CVS commands for further development. I set
|
---|
59 | up different projects of software development. Please take only the source
|
---|
60 | file from the repository which are necessary for the project you want to
|
---|
61 | work on. Please don't work on to much projects in parallel. If you are
|
---|
62 | planning to do bigger changes create your own development branch. But don't
|
---|
63 | wait to long with committing.
|
---|
64 | <BR>
|
---|
65 | <HR WIDTH="100%">
|
---|
66 | <BR><A NAME="Anchor_Projects"></A><B><FONT COLOR="#FF0000"><FONT SIZE=+2>Projects</FONT></FONT></B>
|
---|
67 | <P>The software is separated in different software projects. This projects
|
---|
68 | are:
|
---|
69 | <BR>
|
---|
70 | <BLOCKQUOTE><FONT COLOR="#CC6600"><FONT SIZE=+1> Mmcs (Magic Monte
|
---|
71 | Carlo Simulation )</FONT></FONT>
|
---|
72 | <BR>This is the adapted CORSIKA code for calculating air showers.
|
---|
73 | <P><FONT COLOR="#CC6600"><FONT SIZE=+1>Reflector</FONT></FONT>
|
---|
74 | <BR>With this program you can track the cerenkov photons generated by Mmcs
|
---|
75 | to the camera plane. So all the geometry of the telescope is inside this
|
---|
76 | program.
|
---|
77 | <P><FONT COLOR="#CC6600"><FONT SIZE=+1>Camera</FONT></FONT>
|
---|
78 | <BR>To change the information of the cerenkov photons to FADC counts you
|
---|
79 | have to use the camera program. This program contains a lot of different
|
---|
80 | other sources that are also used by the reflector or the Evita project.
|
---|
81 | <P><FONT COLOR="#CC6600"><FONT SIZE=+1>Evita (EVent Imaging Tool for Analysis)</FONT></FONT>
|
---|
82 | <BR>To display one event use this nice Gui package.
|
---|
83 | <P>.......
|
---|
84 | <BR> </BLOCKQUOTE>
|
---|
85 | It is obvious that some source code of a given directory is part of different
|
---|
86 | projects. I.e. the directory include-MC is a part of the reflector and
|
---|
87 | the camera project.
|
---|
88 | <P>
|
---|
89 | <HR WIDTH="100%">
|
---|
90 | <BR><A NAME="Anchor_Commands"></A><B><FONT COLOR="#FF0000"><FONT SIZE=+2>Commands</FONT></FONT></B>
|
---|
91 | <BR>
|
---|
92 | <OL>
|
---|
93 | <LI>
|
---|
94 | Continue with development of existing projects</LI>
|
---|
95 |
|
---|
96 | <BR>command: cvs checkout <I>project</I>
|
---|
97 | <BR>Then you will get all the directories that are necessary for compiling
|
---|
98 | the given project. So go first in the directory with the Makefile and try
|
---|
99 | to compile it. Then you can start with working on the source files. At
|
---|
100 | the end of your work you will have modified source files.
|
---|
101 | <BR>
|
---|
102 | <LI>
|
---|
103 | Check the status of the files in your directory</LI>
|
---|
104 |
|
---|
105 | <BR>command: cvs status
|
---|
106 | <BR>Then you will get a long list with information of all files in this
|
---|
107 | directory and all sub directory.
|
---|
108 | <BR>If you want to see only the names of the modified files use the
|
---|
109 | <BR>command:cvs status | grep odi
|
---|
110 | <BR>
|
---|
111 | <LI>
|
---|
112 | See differences of your files and the repository</LI>
|
---|
113 |
|
---|
114 | <BR>command: cvs diff <I>[filename]</I>
|
---|
115 | <BR>This will show you the changed you did.
|
---|
116 | <BR>
|
---|
117 | <LI>
|
---|
118 | Commit your changes to the repository</LI>
|
---|
119 |
|
---|
120 | <BR>command: cvs commit [<I>filename]</I>
|
---|
121 | <BR>The changes you made will then be in the repository and are available
|
---|
122 | for all other developers.
|
---|
123 | <BR>
|
---|
124 | <LI>
|
---|
125 | Remove all your files</LI>
|
---|
126 |
|
---|
127 | <BR>command: cvs release -d [filename]
|
---|
128 | <BR>Do this in the most upper directory (There you can see i.e. MagicSoft.).
|
---|
129 | If CVS find some altered files it will not deleted all immediately. But
|
---|
130 | if you have no altered files say yes and delete all the files and directory
|
---|
131 | you worked on. So you are always sure that there is no old or changed version
|
---|
132 | of a project.</OL>
|
---|
133 |
|
---|
134 | <HR WIDTH="100%">
|
---|
135 | <P><A NAME="Anchor_StructureRepository"></A><FONT COLOR="#FF0000"><FONT SIZE=+2>Structure
|
---|
136 | of the Repository</FONT></FONT>
|
---|
137 | <P>All the Software is inside the directory. The structure of the sub directories
|
---|
138 | is following one:
|
---|
139 | <BR>
|
---|
140 | <BR>
|
---|
141 | <TABLE BORDER CELLPADDING=10 COLS=7 WIDTH="100%" NOSAVE >
|
---|
142 | <TR>
|
---|
143 | <TD><FONT SIZE=+1><A HREF="#Anchor_MagicSoft">MagicSoft</A></FONT></TD>
|
---|
144 |
|
---|
145 | <TD><FONT SIZE=+1><A HREF="#Anchor_CvsDoku">CvsDoku</A></FONT></TD>
|
---|
146 |
|
---|
147 | <TD></TD>
|
---|
148 |
|
---|
149 | <TD></TD>
|
---|
150 |
|
---|
151 | <TD></TD>
|
---|
152 |
|
---|
153 | <TD></TD>
|
---|
154 |
|
---|
155 | <TD></TD>
|
---|
156 | </TR>
|
---|
157 |
|
---|
158 | <TR>
|
---|
159 | <TD></TD>
|
---|
160 |
|
---|
161 | <TD><FONT SIZE=+1><A HREF="#Anchor_Simulation">Simulation</A></FONT></TD>
|
---|
162 |
|
---|
163 | <TD><FONT SIZE=+1><A HREF="#Anchor_Corsika">Corsika</A></FONT></TD>
|
---|
164 |
|
---|
165 | <TD><FONT SIZE=+1>Mmcs</FONT></TD>
|
---|
166 |
|
---|
167 | <TD></TD>
|
---|
168 |
|
---|
169 | <TD></TD>
|
---|
170 |
|
---|
171 | <TD></TD>
|
---|
172 | </TR>
|
---|
173 |
|
---|
174 | <TR>
|
---|
175 | <TD></TD>
|
---|
176 |
|
---|
177 | <TD></TD>
|
---|
178 |
|
---|
179 | <TD><FONT SIZE=+1><A HREF="#Anchor_Detector">Detector</A></FONT></TD>
|
---|
180 |
|
---|
181 | <TD><FONT SIZE=+1><A HREF="#Anchor_Reflector">Reflector</A></FONT></TD>
|
---|
182 |
|
---|
183 | <TD></TD>
|
---|
184 |
|
---|
185 | <TD></TD>
|
---|
186 |
|
---|
187 | <TD></TD>
|
---|
188 | </TR>
|
---|
189 |
|
---|
190 | <TR>
|
---|
191 | <TD></TD>
|
---|
192 |
|
---|
193 | <TD></TD>
|
---|
194 |
|
---|
195 | <TD></TD>
|
---|
196 |
|
---|
197 | <TD><FONT SIZE=+1><A HREF="#anchor_Camera">Camera</A></FONT></TD>
|
---|
198 |
|
---|
199 | <TD></TD>
|
---|
200 |
|
---|
201 | <TD></TD>
|
---|
202 |
|
---|
203 | <TD></TD>
|
---|
204 | </TR>
|
---|
205 |
|
---|
206 | <TR>
|
---|
207 | <TD></TD>
|
---|
208 |
|
---|
209 | <TD></TD>
|
---|
210 |
|
---|
211 | <TD></TD>
|
---|
212 |
|
---|
213 | <TD><FONT SIZE=+1><A HREF="#Anchor_include-GENERAL">include-GENERAL</A></FONT></TD>
|
---|
214 |
|
---|
215 | <TD></TD>
|
---|
216 |
|
---|
217 | <TD></TD>
|
---|
218 |
|
---|
219 | <TD></TD>
|
---|
220 | </TR>
|
---|
221 |
|
---|
222 | <TR>
|
---|
223 | <TD></TD>
|
---|
224 |
|
---|
225 | <TD></TD>
|
---|
226 |
|
---|
227 | <TD></TD>
|
---|
228 |
|
---|
229 | <TD><FONT SIZE=+1><A HREF="#Anchor_include-CORSIKA">include-CORSIKA</A></FONT></TD>
|
---|
230 |
|
---|
231 | <TD></TD>
|
---|
232 |
|
---|
233 | <TD></TD>
|
---|
234 |
|
---|
235 | <TD></TD>
|
---|
236 | </TR>
|
---|
237 |
|
---|
238 | <TR>
|
---|
239 | <TD></TD>
|
---|
240 |
|
---|
241 | <TD></TD>
|
---|
242 |
|
---|
243 | <TD></TD>
|
---|
244 |
|
---|
245 | <TD><FONT SIZE=+1><A HREF="#Anchor_include-MC">include-MC</A></FONT></TD>
|
---|
246 |
|
---|
247 | <TD></TD>
|
---|
248 |
|
---|
249 | <TD></TD>
|
---|
250 |
|
---|
251 | <TD></TD>
|
---|
252 | </TR>
|
---|
253 |
|
---|
254 | <TR>
|
---|
255 | <TD></TD>
|
---|
256 |
|
---|
257 | <TD></TD>
|
---|
258 |
|
---|
259 | <TD></TD>
|
---|
260 |
|
---|
261 | <TD><FONT SIZE=+1><A HREF="#Anchor_include-MTrigger">include-MTrigger</A></FONT></TD>
|
---|
262 |
|
---|
263 | <TD></TD>
|
---|
264 |
|
---|
265 | <TD></TD>
|
---|
266 |
|
---|
267 | <TD></TD>
|
---|
268 | </TR>
|
---|
269 |
|
---|
270 | <TR>
|
---|
271 | <TD></TD>
|
---|
272 |
|
---|
273 | <TD></TD>
|
---|
274 |
|
---|
275 | <TD></TD>
|
---|
276 |
|
---|
277 | <TD><FONT SIZE=+1><A HREF="#Anchor_DetData">Data</A></FONT></TD>
|
---|
278 |
|
---|
279 | <TD></TD>
|
---|
280 |
|
---|
281 | <TD></TD>
|
---|
282 |
|
---|
283 | <TD></TD>
|
---|
284 | </TR>
|
---|
285 |
|
---|
286 | <TR>
|
---|
287 | <TD></TD>
|
---|
288 |
|
---|
289 | <TD></TD>
|
---|
290 |
|
---|
291 | <TD></TD>
|
---|
292 |
|
---|
293 | <TD><FONT SIZE=+1><A HREF="#Anchor_lib">lib </A></FONT></TD>
|
---|
294 |
|
---|
295 | <TD></TD>
|
---|
296 |
|
---|
297 | <TD></TD>
|
---|
298 |
|
---|
299 | <TD></TD>
|
---|
300 | </TR>
|
---|
301 |
|
---|
302 | <TR>
|
---|
303 | <TD></TD>
|
---|
304 |
|
---|
305 | <TD><FONT SIZE=+1><A HREF="#Anchor_include-Classes">include-Classes</A></FONT></TD>
|
---|
306 |
|
---|
307 | <TD></TD>
|
---|
308 |
|
---|
309 | <TD></TD>
|
---|
310 |
|
---|
311 | <TD></TD>
|
---|
312 |
|
---|
313 | <TD></TD>
|
---|
314 |
|
---|
315 | <TD></TD>
|
---|
316 | </TR>
|
---|
317 |
|
---|
318 | <TR>
|
---|
319 | <TD></TD>
|
---|
320 |
|
---|
321 | <TD></TD>
|
---|
322 |
|
---|
323 | <TD></TD>
|
---|
324 |
|
---|
325 | <TD></TD>
|
---|
326 |
|
---|
327 | <TD></TD>
|
---|
328 |
|
---|
329 | <TD></TD>
|
---|
330 |
|
---|
331 | <TD></TD>
|
---|
332 | </TR>
|
---|
333 |
|
---|
334 | <TR>
|
---|
335 | <TD></TD>
|
---|
336 |
|
---|
337 | <TD><FONT SIZE=+1><A HREF="#Anchor_Analysis">Analysis</A></FONT></TD>
|
---|
338 |
|
---|
339 | <TD></TD>
|
---|
340 |
|
---|
341 | <TD></TD>
|
---|
342 |
|
---|
343 | <TD></TD>
|
---|
344 |
|
---|
345 | <TD></TD>
|
---|
346 |
|
---|
347 | <TD></TD>
|
---|
348 | </TR>
|
---|
349 |
|
---|
350 | <TR NOSAVE>
|
---|
351 | <TD NOSAVE></TD>
|
---|
352 |
|
---|
353 | <TD></TD>
|
---|
354 |
|
---|
355 | <TD></TD>
|
---|
356 |
|
---|
357 | <TD></TD>
|
---|
358 |
|
---|
359 | <TD></TD>
|
---|
360 |
|
---|
361 | <TD></TD>
|
---|
362 |
|
---|
363 | <TD></TD>
|
---|
364 | </TR>
|
---|
365 | </TABLE>
|
---|
366 |
|
---|
367 | <HR WIDTH="100%">
|
---|
368 | <BR>
|
---|
369 | <H3>
|
---|
370 | <FONT COLOR="#FF0000"><FONT SIZE=+2>Detail of sub directories in the repository</FONT></FONT></H3>
|
---|
371 |
|
---|
372 | <P><BR><A NAME="Anchor_MagicSoft"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>MagicSoft</FONT></FONT>
|
---|
373 | <P>In this directory of the cvs-repository you find all software that is
|
---|
374 | developed for MAGIC using CVS.
|
---|
375 | <BR>This directory contain four sub directories, CvsDoku, Simulation, Analysis
|
---|
376 | and include-Classes.
|
---|
377 | <BR>
|
---|
378 | <BLOCKQUOTE><A NAME="Anchor_CvsDoku"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>CvsDoku</FONT></FONT>
|
---|
379 | <P>In this directory of the cvs-repository you find some html pages like
|
---|
380 | the one you are looking at the moment. This documentation is written as
|
---|
381 | a guideline for MAGIC developers using the CVS tool. Also the documentation
|
---|
382 | for CVS usage is using CVS!!
|
---|
383 | <P><A NAME="Anchor_Simulation"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>Simulation</FONT></FONT>
|
---|
384 | <BR>For MAGIC a lot of programs were developed to simulate the behavior
|
---|
385 | of Air Showers, the Mirrors and the Camera. All this things you need for
|
---|
386 | simulation is inside this directory.
|
---|
387 | <BR>
|
---|
388 | <BLOCKQUOTE><A NAME="Anchor_Corsika"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Corsika</FONT></FONT>
|
---|
389 | <BR>All things needed for the simulation of Air Showers. All this simulation
|
---|
390 | are based on the CORSIKA program of the KASCADE group in Karlsruhe.
|
---|
391 | <BR>
|
---|
392 | <P><A NAME="Anchor_Detector"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Detector</FONT></FONT>
|
---|
393 | <BR> Every thing that is needed to transfer the simulated events to
|
---|
394 | the common raw data format. There are a lot of different tools inside this
|
---|
395 | directory, mainly based on the work of Jose Carlos Gonzales.
|
---|
396 | <BR>
|
---|
397 | <BLOCKQUOTE><A NAME="Anchor_Reflector"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Reflector</FONT></FONT>
|
---|
398 | <BR> Here you find the source code of the reflector program. This
|
---|
399 | is written to read the CORSIKA (Mmcs) output. With this data you can simulate
|
---|
400 | the behavior of the MAGIC mirrors. But to compile and run the program some
|
---|
401 | other sub directories are needed.
|
---|
402 | <P><A NAME="anchor_Camera"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>Camera</FONT></FONT>
|
---|
403 | <P><FONT COLOR="#330000"> In this directory are all the files of the
|
---|
404 | camera program. The camera program is calculating the response of each
|
---|
405 | photo multiplier of the camera. At the end we get the number of ADC count
|
---|
406 | for each time slice of each pixel. In the previous there were also some
|
---|
407 | smaller calculations of the camera pixels in it.</FONT>
|
---|
408 | <P><A NAME="Anchor_include-CORSIKA"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>include-CORSIKA</FONT></FONT>
|
---|
409 | <BR>Here you can find a implementation to read the CORSIKA output. This
|
---|
410 | classes are needed by the reflector program.
|
---|
411 | <P><A NAME="Anchor_include-MC"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>include-MC</FONT></FONT>
|
---|
412 | <BR>Here you can find a implementation to write and read the output of
|
---|
413 | the reflector program. This classes are needed by the reflector and the
|
---|
414 | camera program.
|
---|
415 | <P><A NAME="Anchor_include-GENERAL"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>include-GENERAL</FONT></FONT>
|
---|
416 | <BR>Here you can find some header file that are needed by reflector and
|
---|
417 | camera. For example the declaration of the runlib is found here.
|
---|
418 | <BR>
|
---|
419 | <P><A NAME="Anchor_include-MTrigger"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>include-MTrigger</FONT></FONT>
|
---|
420 | <BR>Studies of the trigger behavior are very fundamental things. The simulation
|
---|
421 | of the trigger is a part of the camera program. All the methods are put
|
---|
422 | in the Classes (called MTRigger ) in this directory.
|
---|
423 | <P><A NAME="Anchor_DetData"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Data</FONT></FONT>
|
---|
424 | <BR>All the different data files for the simulation tools reflector and
|
---|
425 | camera are in this directory. For example the geometry of the MAGIC telescope
|
---|
426 | is stored in magic.def or the data of the focal points is stored in focal.dat.
|
---|
427 | <P><A NAME="Anchor_lib"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>lib</FONT></FONT>
|
---|
428 | <BR>Here you find the ranlib that is used by reflector and camera.</BLOCKQUOTE>
|
---|
429 | </BLOCKQUOTE>
|
---|
430 | <A NAME="Anchor_include-Classes"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>include-Classes</FONT></FONT>
|
---|
431 | <P>In this directory you can find all Classes (C++ and hopefully OOP )
|
---|
432 | that are used for simulation and for analysis. An example is the RawDataFormat
|
---|
433 | used in the Analysis and the Camera programs. The Classes are MRawPixel,
|
---|
434 | MRawEvt, MRawMc .....
|
---|
435 | <P><A NAME="Anchor_Analysis"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>Analysis</FONT></FONT>
|
---|
436 | <P>In this directory you can find all Programs to analyze data of MAGIC.
|
---|
437 | Here you will find tools to look on single Events, to calculate the Hillas
|
---|
438 | parameters and to find the periodicity of one special source. (But all
|
---|
439 | this is still under construction!!!! Here the must development is needed
|
---|
440 | in the future!!!)
|
---|
441 | <BR> </BLOCKQUOTE>
|
---|
442 |
|
---|
443 | <HR WIDTH="100%">
|
---|
444 | <BR><I>H.Kornmayer</I>
|
---|
445 | <BR>
|
---|
446 | </BODY>
|
---|
447 | </HTML>
|
---|