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.51 [en] (X11; I; Linux 2.2.5 i586) [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><font color="#992277">
|
---|
12 | CVS for Magic Software Development</font></h1></center>
|
---|
13 |
|
---|
14 | <hr>
|
---|
15 | <h3>
|
---|
16 | <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><font color="#FF0000"><font size=+2>Repository</font></font>
|
---|
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:magiccvs@pchegra4.mppmu.mpg.de:/CvsRepository </font></b>
|
---|
47 | for tcsh (use the syntax of your shell)
|
---|
48 | <p>The access from other computers is still under construction and tests.
|
---|
49 | If you want access please inform<a href="mailto:harald@hegra1.mppmu.mpg.de">
|
---|
50 | Harald Kornmayer </a> in Munich. For more details about the structure
|
---|
51 | of the repository see <a href="#Anchor_StructureRepository">here.</a>
|
---|
52 | <br>
|
---|
53 | <p>
|
---|
54 | <hr WIDTH="100%">
|
---|
55 | <br><font color="#FF0000"><font size=+2>Just for Beginners</font></font>
|
---|
56 | <p>All developers should use CVS commands for further development. I set
|
---|
57 | up different projects of software development. Please take only the source
|
---|
58 | file from the repository which are necessary for the project you want to
|
---|
59 | work on. Please don't work on to much projects in parallel. If you are
|
---|
60 | planning to do bigger changes create your own development branch. But don't
|
---|
61 | wait to long with committing.
|
---|
62 | <br>
|
---|
63 | <hr WIDTH="100%">
|
---|
64 | <br><font color="#FF0000"><font size=+2>Projects</font></font>
|
---|
65 | <p>The software is separated in different software projects. This projects
|
---|
66 | are:
|
---|
67 | <br>
|
---|
68 | <blockquote><font color="#CC6600"><font size=+1> Mmcs (Magic Monte
|
---|
69 | Carlo Simulation )</font></font>
|
---|
70 | <br>This is the adapted CORSIKA code for calculating air showers.
|
---|
71 | <p><font color="#CC6600"><font size=+1>Reflector</font></font>
|
---|
72 | <br>With this program you can track the cerenkov photons generated by Mmcs
|
---|
73 | to the camera plane. So all the geometry of the telescope is inside this
|
---|
74 | program.
|
---|
75 | <p><font color="#CC6600"><font size=+1>Camera</font></font>
|
---|
76 | <br>To change the information of the cerenkov photons to FADC counts you
|
---|
77 | have to use the camera program. This program contains a lot of different
|
---|
78 | other sources that are also used by the reflector or the Evita project.
|
---|
79 | <p><font color="#CC6600"><font size=+1>Evita (EVent Imaging Tool for Analysis)</font></font>
|
---|
80 | <br>To display one event use this nice Gui package.
|
---|
81 | <p>.......
|
---|
82 | <br> </blockquote>
|
---|
83 | It is obvious that some source code of a given directory is part of different
|
---|
84 | projects. I.e. the directory include-MC is a part of the reflector and
|
---|
85 | the camera project.
|
---|
86 | <p>
|
---|
87 | <hr WIDTH="100%">
|
---|
88 | <br><font color="#FF0000"><font size=+2>Commands</font></font>
|
---|
89 | <br>
|
---|
90 | <ol>
|
---|
91 | <li>
|
---|
92 | Continue with development of existing projects</li>
|
---|
93 |
|
---|
94 | <br>command: cvs checkout <i>project</i>
|
---|
95 | <br>Then you will get all the directories that are necessary for compiling
|
---|
96 | the given project. So go first in the directory with the Makefile and try
|
---|
97 | to compile it. Then you can start with working on the source files. At
|
---|
98 | the end of your work you will have modified source files.
|
---|
99 | <br>
|
---|
100 | <li>
|
---|
101 | Check the status of the files in your directory</li>
|
---|
102 |
|
---|
103 | <br>command: cvs status
|
---|
104 | <br>Then you will get a long list with information of all files in this
|
---|
105 | directory and all sub directory.
|
---|
106 | <br>If you want to see only the names of the modified files use the
|
---|
107 | <br>command:cvs status | grep odi
|
---|
108 | <br>
|
---|
109 | <li>
|
---|
110 | See differences of your files and the repository</li>
|
---|
111 |
|
---|
112 | <br>command: cvs diff <i>[filename]</i>
|
---|
113 | <br>This will show you the changed you did.
|
---|
114 | <br>
|
---|
115 | <li>
|
---|
116 | Commit your changes to the repository</li>
|
---|
117 |
|
---|
118 | <br>command: cvs commit [<i>filename]</i>
|
---|
119 | <br>The changes you made will then be in the repository and are available
|
---|
120 | for all other developers.
|
---|
121 | <br>
|
---|
122 | <li>
|
---|
123 | Remove all your files</li>
|
---|
124 |
|
---|
125 | <br>command: cvs release -d [filename]
|
---|
126 | <br>Do this in the most upper directory (There you can see i.e. MagicSoft.).
|
---|
127 | If CVS find some altered files it will not deleted all immediately. But
|
---|
128 | if you have no altered files say yes and delete all the files and directory
|
---|
129 | you worked on. So you are always sure that there is no old or changed version
|
---|
130 | of a project.
|
---|
131 | <br>
|
---|
132 | <br> </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><font size=+1><a href="Anchor_DetData"></a></font></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><font size=+1><a href="#Anchor_lib"></a></font></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 | <br>
|
---|
444 | </body>
|
---|
445 | </html>
|
---|