source: trunk/MagicSoft/CvsDoku/body.html@ 674

Last change on this file since 674 was 453, checked in by harald, 24 years ago
The changes in the access to the repository are described.
File size: 16.8 KB
Line 
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.61 [en] (X11; I; Linux 2.2.10 i686) [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>
17More than one software developer are involved in the progress of Software
18for the MAGIC telescope. Because the developers are distributed all over
19Europe, a version control system is needed. There exists more than one
20possibility of such version control systems, but for the beginning we take
21CVS ( Concurrent Versions System ).
22<p>CVS is a version control system, which allows you to keep old versions
23of files (usually source code), keep a log of who, when, and why changes
24occurred, etc., like RCS or SCCS. Unlike the simpler systems, CVS does
25not just operate on one file at a time or one directory at a time, but
26operates on hierarchical collections of directories consisting of version
27controlled files. CVS helps to manage releases and to control the concurrent
28editing of source files among multiple authors. CVS allows triggers to
29enable/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
31source ``repository''; it contains all the information to permit extracting
32previous software releases at any time based on either a symbolic revision
33tag, or a date in the past.
34<p>For CVS updates, more information on documentation,&nbsp; software related
35to CVS, development of CVS, and more, see:
36<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.cyclic.com">http://www.cyclic.com</a>
37<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.loria.fr/~molli/cvs-index.html">http://www.loria.fr/~molli/cvs-index.html</a>
38<br>&nbsp;
39<p>
40<hr WIDTH="100%"> <br><a NAME="Anchor_Repository"></a><b><font
41color="#FF0000"><font size=+2>Repository</font></font></b> <p>The
42single copy of the master source for all MAGIC software is held in
43the repository on a single (security reasons) linux computer in
44Max-Planck-Institut f&uuml;r Physik in Munich. To access the
45repository you need an account on that computer. As a remote
46developer you must declare the environment variable CVSROOT on your
47home computer in the following way. <p><b><FONT
48COLOR="#6B238E">setenv&nbsp;&nbsp; CVSROOT&nbsp;
49:pserver:<EM>username</EM>@pchegra4.mppmu.mpg.de:/CvsRepository&nbsp;</font>
50</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
51for tcsh (use the syntax of your shell)
52
53<p>If you want access please inform<a
54href="mailto:harald@hegra1.mppmu.mpg.de"> Harald Kornmayer&nbsp;</a>
55in Munich. For more details about the structure of the repository see
56<a href="#Anchor_StructureRepository">here.</a>
57
58<p>For those developers, that work in other repositories in other
59experiments. You can access to the repository of MAGIC by typing:
60<p><b><FONT COLOR="#6B238E">cvs -d
61:pserver:<EM>username</EM>@pchegra4.mppmu.mpg.de:/CvsRepository&nbsp;
62{command}&nbsp;&nbsp;&nbsp; {project}</font></b> <p> Here is a small
63example of a cvs session (Assuming the CVSROOT is set!)<BR>
64
65cvs login<BR>
66cvs checkout CvsDoku<BR>
67cvs release -d MagicSoft<BR>
68cvs logout<BR>
69
70
71<hr WIDTH="100%">
72<br><a NAME="Anchor_JustforBeginners"></a><b><font color="#FF0000"><font size=+2>Just
73for Beginners</font></font></b>
74<p>All developers should use CVS commands for further development. I set
75up different projects of software development. Please take only the source
76file from the repository which are necessary for the project you want to
77work on. Please don't work on to much projects in parallel. If you are
78planning to do bigger changes create your own development branch. But don't
79wait to long with committing.
80<p>If you want to play a little around with CVS for magic, there is a project
81only for testing. The project is calles CvsDummy. Inside this projects
82there are some file. You can try tho change them, add new file and test
83also the commit command.
84<br>&nbsp;
85<p>
86<hr WIDTH="100%">
87<br><a NAME="Anchor_Projects"></a><b><font color="#FF0000"><font size=+2>Projects</font></font></b>
88<p>The software is separated in different software projects. This projects
89are:
90<br>&nbsp;
91<blockquote><font color="#CC6600"><font size=+1>&nbsp;Mmcs (Magic Monte
92Carlo Simulation )</font></font>
93<br>This is the adapted CORSIKA code for calculating air showers.
94<p><font color="#CC6600"><font size=+1>Checkmc</font></font>
95<br>This progam is to check the output of Mmcs. It is using hbook stuff.
96<p><font color="#CC6600"><font size=+1>Reflector</font></font>
97<br>With this program you can track the cerenkov photons generated by Mmcs
98to the camera plane. So all the geometry of the telescope is inside this
99program.
100<p><blink><font color="#CC6600"><font size=+1>TimeCam</font></font></blink>
101<br>This is a simulation of the camera bahaviour taking the infomation
102of the arrival times of cerenkov photons and photo electrons into account.
103<br>This results of this project were presented at the general MAGIC meeting
104in Barcelona (February 2000). There will be very soon a conection
105<br>to the FADC simulation. It may be not very good to have to different
106project in the future. So may be, we continuing with this one.
107<p><font color="#CC6600"><font size=+1>(Camera)</font></font>
108<br>To change the information of the cerenkov photons to FADC counts you
109have to use the camera program. This program contains a lot of different
110other sources that are also used by the reflector or the Evita project.
111<p><font color="#CC6600"><font size=+1>StarFieldAdder</font></font>
112<br>This is a project to simulate the effects of star light for MAGIC.
113First steps of this program were done by Mirella Dosil. It was put in the
114<br>repository by Dirk Petry. Have a look at the README file!
115<p><font color="#CC6600"><font size=+1>Evita (EVent Imaging Tool for Analysis)</font></font>
116<br>To display one event use this nice Gui package.
117<p>.......
118<br>&nbsp;
119<p><font color="#CC6600"><font size=+1>CvsDummy</font></font>
120<br>This is the project for CVS beginners to play with a project. How to
121use comand with out the danger of destroying some stuff.
122<br>&nbsp;</blockquote>
123It is obvious that some source code of a given directory is part of different
124projects. I.e. the directory include-MC is a part of the reflector and
125the camera project.
126<p>
127<hr WIDTH="100%">
128<br><a NAME="Anchor_Commands"></a><b><font color="#FF0000"><font size=+2>Commands</font></font></b>
129<br>&nbsp;
130<ol>
131<li>
132Continue with development of existing projects
133
134<br>command: cvs checkout <i>project</i>
135<br>Then you will get all the directories that are necessary for compiling
136the given project. So go first in the directory with the Makefile and try
137to compile it. Then you can start with working on the source files. At
138the end of your work you will have modified source files.
139<br>&nbsp;
140<li>
141Check the status of the files in your directory
142
143<br>command: cvs status
144<br>Then you will get a long list with information of all files in this
145directory and all sub directory.
146<br>If you want to see only the names of the modified files use the
147<br>command:cvs status | grep odi
148<br>&nbsp;
149<li>
150See differences of your files and the repository
151
152<br>command: cvs diff <i>[filename]</i>
153<br>This will show you the changed you did.
154<br>&nbsp;
155<li>
156Commit your changes to the repository
157
158<br>command: cvs commit [<i>filename]</i>
159<br>The changes you made will then be in the repository and are available
160for all other developers.
161<br>&nbsp;
162<li>
163Remove all your files
164
165<br>command: cvs release -d [filename]
166<br>Do this in the most upper directory (There you can see i.e. MagicSoft.).
167If CVS find some altered files it will not deleted all immediately. But
168if you have no altered files say yes and delete all the files and directory
169you worked on. So you are always sure that there is no old or changed version
170of a project.</ol>
171
172<hr WIDTH="100%">
173<p><a NAME="Anchor_StructureRepository"></a><font color="#FF0000"><font size=+2>Structure
174of the Repository</font></font>
175<p>All the Software is inside the directory. The structure of the sub directories
176is following one:
177<br>&nbsp;
178<br>&nbsp;
179<table BORDER CELLPADDING=10 COLS=5 WIDTH="100%" NOSAVE >
180<tr>
181<td><font size=+1><a href="#Anchor_MagicSoft">MagicSoft</a></font></td>
182
183<td><font size=+1><a href="#Anchor_CvsDoku">CvsDoku</a></font></td>
184
185<td></td>
186
187<td></td>
188
189<td></td>
190</tr>
191
192<tr>
193<td></td>
194
195<td><font size=+1><a href="#Anchor_Simulation">Simulation</a></font></td>
196
197<td><font size=+1><a href="#Anchor_Corsika">Corsika</a></font></td>
198
199<td><font size=+1><a href="#Anchor_Mmcs">Mmcs</a></font></td>
200
201<td></td>
202</tr>
203
204<tr>
205<td></td>
206
207<td></td>
208
209<td></td>
210
211<td><font size=+1><a href="#Anchor_Checkmc">Checkmc</a></font></td>
212
213<td></td>
214</tr>
215
216<tr>
217<td></td>
218
219<td></td>
220
221<td><font size=+1><a href="#Anchor_Detector">Detector</a></font></td>
222
223<td><font size=+1><a href="#Anchor_Reflector">Reflector</a></font></td>
224
225<td></td>
226</tr>
227
228<tr>
229<td></td>
230
231<td></td>
232
233<td></td>
234
235<td><font size=+1><a href="#anchor_TimeCam">TimeCam</a></font></td>
236
237<td></td>
238</tr>
239
240<tr>
241<td></td>
242
243<td></td>
244
245<td></td>
246
247<td><font size=+1><a href="#Anchor_StarField">StarField</a></font></td>
248
249<td></td>
250</tr>
251
252<tr>
253<td></td>
254
255<td></td>
256
257<td></td>
258
259<td><font size=+1><a href="#anchor_Camera">Camera</a></font></td>
260
261<td></td>
262</tr>
263
264<tr>
265<td></td>
266
267<td></td>
268
269<td></td>
270
271<td><font size=+1><a href="#Anchor_include-GENERAL">include-GENERAL</a></font></td>
272
273<td></td>
274</tr>
275
276<tr>
277<td></td>
278
279<td></td>
280
281<td></td>
282
283<td><font size=+1><a href="#Anchor_include-CORSIKA">include-CORSIKA</a></font></td>
284
285<td></td>
286</tr>
287
288<tr>
289<td></td>
290
291<td></td>
292
293<td></td>
294
295<td><font size=+1><a href="#Anchor_include-MC">include-MC</a></font></td>
296
297<td></td>
298</tr>
299
300<tr>
301<td></td>
302
303<td></td>
304
305<td></td>
306
307<td><font size=+1><a href="#Anchor_include-MTrigger">include-MTrigger</a></font></td>
308
309<td></td>
310</tr>
311
312<tr>
313<td></td>
314
315<td></td>
316
317<td></td>
318
319<td><font size=+1><a href="#Anchor_DetData">Data</a></font></td>
320
321<td></td>
322</tr>
323
324<tr>
325<td></td>
326
327<td></td>
328
329<td></td>
330
331<td><font size=+1><a href="#Anchor_lib">lib&nbsp;</a></font></td>
332
333<td></td>
334</tr>
335
336<tr>
337<td></td>
338
339<td><font size=+1><a href="#Anchor_include-Classes">include-Classes</a></font></td>
340
341<td></td>
342
343<td></td>
344
345<td></td>
346</tr>
347
348<tr>
349<td></td>
350
351<td></td>
352
353<td></td>
354
355<td></td>
356
357<td></td>
358</tr>
359
360<tr>
361<td></td>
362
363<td><font size=+1><a href="#Anchor_Analysis">Analysis</a></font></td>
364
365<td></td>
366
367<td></td>
368
369<td></td>
370</tr>
371
372<tr NOSAVE>
373<td NOSAVE></td>
374
375<td></td>
376
377<td></td>
378
379<td></td>
380
381<td></td>
382</tr>
383
384<tr>
385<td></td>
386
387<td><font size=+1>CvsDummy&nbsp;</font></td>
388
389<td></td>
390
391<td></td>
392
393<td></td>
394</tr>
395</table>
396
397<hr WIDTH="100%">
398<br>&nbsp;
399<h3>
400<font color="#FF0000"><font size=+2>Detail of sub directories in the repository</font></font></h3>
401
402<p><br><a NAME="Anchor_MagicSoft"></a><font color="#CC33CC"><font size=+2>MagicSoft</font></font>
403<p>In this directory of the cvs-repository you find all software that is
404developed for MAGIC using CVS.
405<br>This directory contain four sub directories, CvsDoku, Simulation, Analysis
406and include-Classes.
407<br>&nbsp;
408<blockquote><a NAME="Anchor_CvsDoku"></a><font color="#CC33CC"><font size=+2>CvsDoku</font></font>
409<p>In this directory of the cvs-repository you find some html pages like
410the one you are looking at the moment. This documentation is written as
411a guideline for MAGIC developers using the CVS tool. Also the documentation
412for CVS usage is using CVS!!
413<p><a NAME="Anchor_Simulation"></a><font color="#CC66CC"><font size=+2>Simulation</font></font>
414<br>For MAGIC a lot of programs were developed to simulate the behavior
415of Air Showers, the Mirrors and the Camera. All this things you need for
416simulation is inside this directory.
417<br>&nbsp;
418<blockquote><a NAME="Anchor_Corsika"></a><font color="#CC33CC"><font size=+2>Corsika</font></font>
419<br>All things needed for the simulation of Air Showers. All this simulation
420are based on the CORSIKA program of the KASCADE group in Karlsruhe.
421<blockquote><a NAME="Anchor_Mmcs"></a><font color="#CC33CC"><font size=+2>Mmcs</font></font>
422<br><font color="#000000">(Magic Monte Carlo Simulation)</font>
423<br><font color="#000000">Here you find all stuff for the generation of
424air showers using the CORSIKA program.</font>
425<p><a NAME="Anchor_Checkmc"></a><font color="#CC33CC"><font size=+2>Checkmc</font></font>
426<br><font color="#000000">After the production of air shower it is good
427to get an impression about the reliabability of the produced data. This
428can be done by this project.</font></blockquote>
429
430<p><br><a NAME="Anchor_Detector"></a><font color="#CC33CC"><font size=+2>Detector</font></font>
431<br>&nbsp;Every thing that is needed to transfer the simulated events to
432the common raw data format. There are a lot of different tools inside this
433directory, mainly based on the work of Jose Carlos Gonzales.
434<br>&nbsp;
435<blockquote><a NAME="Anchor_Reflector"></a><font color="#CC33CC"><font size=+2>Reflector</font></font>
436<br>&nbsp;Here you find the source code of the reflector program. This
437is written to read the CORSIKA (Mmcs) output. With this data you can simulate
438the behavior of the MAGIC mirrors. But to compile and run the program some
439other sub directories are needed.
440<p><a NAME="anchor_TimeCam"></a><font color="#CC66CC"><font size=+2>TimeCam</font></font>
441<br><font color="#330000">&nbsp;To simulate the full behaviour of MAGIC
442you have to take into account the timing information of the cerenkov photons
443(or the photo electrons). All this stuff can be found in this directory.
444At the end we get for each triggered event the FADC values in a file.</font>
445<p><a NAME="Anchor_StarField"></a><font color="#CC33CC"><font size=+2>StarField</font></font>
446<br>&nbsp;Here you can find all the code for the StarField adder. Don't
447forget to read the README file!
448<p><a NAME="anchor_Camera"></a><font color="#CC66CC"><font size=+2>Camera</font></font>
449<p><font color="#330000">&nbsp;In this directory are all the files of the
450camera program. The camera program is calculating the response of each
451photo multiplier of the camera. At the end we get the number of ADC count
452for each time slice of each pixel. In the previous there were also some
453smaller calculations of the camera pixels in it.</font>
454<p><a NAME="Anchor_include-CORSIKA"></a><font color="#CC33CC"><font size=+2>include-CORSIKA</font></font>
455<br>Here you can find a implementation to read the CORSIKA output. This
456classes are needed by the reflector program.
457<p><a NAME="Anchor_include-MC"></a><font color="#CC33CC"><font size=+2>include-MC</font></font>
458<br>Here you can find a implementation to write and read the output of
459the reflector program. This classes are needed by the reflector and the
460camera program.
461<p><a NAME="Anchor_include-GENERAL"></a><font color="#CC33CC"><font size=+2>include-GENERAL</font></font>
462<br>Here you can find some header file that are needed by reflector and
463camera. For example the declaration of the runlib is found here.
464<br>&nbsp;
465<p><a NAME="Anchor_include-MTrigger"></a><font color="#CC66CC"><font size=+2>include-MTrigger</font></font>
466<br>Studies of the trigger behavior are very fundamental things. The simulation
467of the trigger is a part of the camera program. All the methods are put
468in the Classes (called MTRigger ) in this directory. Also a gui class (MGTrigger)
469is inside this directory.
470<p><a NAME="Anchor_DetData"></a><font color="#CC33CC"><font size=+2>Data</font></font>
471<br>All the different data files for the simulation tools reflector and
472camera are in this directory. For example the geometry of the MAGIC telescope
473is stored in magic.def or the data of the focal points is stored in focal.dat.
474<p><a NAME="Anchor_lib"></a><font color="#CC33CC"><font size=+2>lib</font></font>
475<br>Here you find the ranlib that is used by reflector and camera.</blockquote>
476</blockquote>
477<a NAME="Anchor_include-Classes"></a><font color="#CC66CC"><font size=+2>include-Classes</font></font>
478<p>In this directory you can find all Classes (C++ and hopefully OOP )
479that are used for simulation and for analysis. An example is the RawDataFormat
480used in the Analysis and the Camera programs. The Classes are MRawPixel,
481MRawEvt, MRawMc .....
482<p><a NAME="Anchor_Analysis"></a><font color="#CC66CC"><font size=+2>Analysis</font></font>
483<p>In this directory you can find all Programs to analyze data of MAGIC.
484Here you will find tools to look on single Events, to calculate the Hillas
485parameters and to find the periodicity of one special source. (But all
486this is still under construction!!!! Here the must development is needed
487in the future!!!)
488<br>&nbsp;</blockquote>
489
490<hr WIDTH="100%">
491<br><i>H.Kornmayer</i>
492<br>&nbsp;
493</body>
494</html>
Note: See TracBrowser for help on using the repository browser.