source: trunk/MagicSoft/CvsDoku/welcome.html@ 314

Last change on this file since 314 was 314, checked in by magiccvs, 25 years ago
Some more changes for better dokumentation. It grows and grows...
File size: 13.5 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.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>
12CVS for Magic Software Development</h1></center>
13
14<hr>
15<h3>
16<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%">
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
43in the repository on a single (security reasons) linux computer in Max-Planck-Institut
44f&uuml;r Physik in Munich. As a remote developer you must declare the environment
45variable.
46<p><b><font color="#33FF33">setenv&nbsp;&nbsp; CVSROOT&nbsp; :ext:pchegra4.mppmu.mpg.de:/CvsRepository&nbsp;</font></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
47for tcsh (use the syntax of your shell)
48<p>The access from other computers is still under construction and tests.
49If you want access please inform<a href="mailto:harald@hegra1.mppmu.mpg.de">
50Harald Kornmayer&nbsp;</a> in Munich. For more details about the structure
51of the repository see <a href="#Anchor_StructureRepository">here.</a>
52<br>&nbsp;
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
57up different projects of software development. Please take only the source
58file from the repository which are necessary for the project you want to
59work on. Please don't work on to much projects in parallel. If you are
60planning to do bigger changes create your own development branch. But don't
61wait 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
66are:
67<br>&nbsp;
68<blockquote><font color="#CC6600"><font size=+1>&nbsp;Mmcs (Magic Monte
69Carlo 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
73to the camera plane. So all the geometry of the telescope is inside this
74program.
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
77have to use the camera program. This program contains a lot of different
78other 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>&nbsp;</blockquote>
83It is obvious that some source code of a given directory is part of different
84projects. I.e. the directory include-MC is a part of the reflector and
85the camera project.
86<p>
87<hr WIDTH="100%">
88<br><font color="#FF0000"><font size=+2>Commands</font></font>
89<br>&nbsp;
90<ol>
91<li>
92Continue 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
96the given project. So go first in the directory with the Makefile and try
97to compile it. Then you can start with working on the source files. At
98the end of your work you will have modified source files.
99<br>&nbsp;
100<li>
101Check 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
105directory 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>&nbsp;
109<li>
110See 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>&nbsp;
115<li>
116Commit 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
120for all other developers.
121<br>&nbsp;
122<li>
123Remove 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.).
127If CVS find some altered files it will not deleted all immediately. But
128if you have no altered files say yes and delete all the files and directory
129you worked on. So you are always sure that there is no old or changed version
130of a project.
131<br>&nbsp;
132<br>&nbsp;</ol>
133
134<hr WIDTH="100%">
135<p><a NAME="Anchor_StructureRepository"></a><font color="#FF0000"><font size=+2>Structure
136of the Repository</font></font>
137<p>All the Software is inside the directory. The structure of the sub directories
138is following one:
139<br>&nbsp;
140<br>&nbsp;
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&nbsp;</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>&nbsp;
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
374developed for MAGIC using CVS.
375<br>This directory contain four sub directories, CvsDoku, Simulation, Analysis
376and include-Classes.
377<br>&nbsp;
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
380the one you are looking at the moment. This documentation is written as
381a guideline for MAGIC developers using the CVS tool. Also the documentation
382for 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
385of Air Showers, the Mirrors and the Camera. All this things you need for
386simulation is inside this directory.
387<br>&nbsp;
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
390are based on the CORSIKA program of the KASCADE group in Karlsruhe.
391<br>&nbsp;
392<p><a NAME="Anchor_Detector"></a><font color="#CC33CC"><font size=+2>Detector</font></font>
393<br>&nbsp;Every thing that is needed to transfer the simulated events to
394the common raw data format. There are a lot of different tools inside this
395directory, mainly based on the work of Jose Carlos Gonzales.
396<br>&nbsp;
397<blockquote><a NAME="Anchor_Reflector"></a><font color="#CC33CC"><font size=+2>Reflector</font></font>
398<br>&nbsp;Here you find the source code of the reflector program. This
399is written to read the CORSIKA (Mmcs) output. With this data you can simulate
400the behavior of the MAGIC mirrors. But to compile and run the program some
401other 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">&nbsp;In this directory are all the files of the
404camera program. The camera program is calculating the response of each
405photo multiplier of the camera. At the end we get the number of ADC count
406for each time slice of each pixel. In the previous there were also some
407smaller 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
410classes 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
413the reflector program. This classes are needed by the reflector and the
414camera 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
417camera. For example the declaration of the runlib is found here.
418<br>&nbsp;
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
421of the trigger is a part of the camera program. All the methods are put
422in 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
425camera are in this directory. For example the geometry of the MAGIC&nbsp;telescope
426is 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 )
432that are used for simulation and for analysis. An example is the RawDataFormat
433used in the Analysis and the Camera programs. The Classes are MRawPixel,
434MRawEvt, 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.
437Here you will find tools to look on single Events, to calculate the Hillas
438parameters and to find the periodicity of one special source. (But all
439this is still under construction!!!! Here the must development is needed
440in the future!!!)
441<br>&nbsp;</blockquote>
442
443<br>&nbsp;
444</body>
445</html>
Note: See TracBrowser for help on using the repository browser.