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

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