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

Last change on this file since 324 was 322, checked in by harald, 25 years ago
*** empty log message ***
File size: 13.7 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.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>
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.
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><BLINK>The access from other computers is still under construction and
49tests.</BLINK>
50<P>If you want access please inform<A HREF="mailto:harald@hegra1.mppmu.mpg.de">
51Harald Kornmayer&nbsp;</A> in Munich. For more details about the structure
52of the repository see <A HREF="#Anchor_StructureRepository">here.</A>
53<BR>&nbsp;
54<P>
55<HR WIDTH="100%">
56<BR><A NAME="Anchor_JustforBeginners"></A><B><FONT COLOR="#FF0000"><FONT SIZE=+2>Just
57for Beginners</FONT></FONT></B>
58<P>All developers should use CVS commands for further development. I set
59up different projects of software development. Please take only the source
60file from the repository which are necessary for the project you want to
61work on. Please don't work on to much projects in parallel. If you are
62planning to do bigger changes create your own development branch. But don't
63wait 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
68are:
69<BR>&nbsp;
70<BLOCKQUOTE><FONT COLOR="#CC6600"><FONT SIZE=+1>&nbsp;Mmcs (Magic Monte
71Carlo 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
75to the camera plane. So all the geometry of the telescope is inside this
76program.
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
79have to use the camera program. This program contains a lot of different
80other 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>&nbsp;</BLOCKQUOTE>
85It is obvious that some source code of a given directory is part of different
86projects. I.e. the directory include-MC is a part of the reflector and
87the 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>&nbsp;
92<OL>
93<LI>
94Continue 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
98the given project. So go first in the directory with the Makefile and try
99to compile it. Then you can start with working on the source files. At
100the end of your work you will have modified source files.
101<BR>&nbsp;
102<LI>
103Check 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
107directory 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>&nbsp;
111<LI>
112See 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>&nbsp;
117<LI>
118Commit 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
122for all other developers.
123<BR>&nbsp;
124<LI>
125Remove 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.).
129If CVS find some altered files it will not deleted all immediately. But
130if you have no altered files say yes and delete all the files and directory
131you worked on. So you are always sure that there is no old or changed version
132of a project.</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></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&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 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<HR WIDTH="100%">
444<BR><I>H.Kornmayer</I>
445<BR>&nbsp;
446</BODY>
447</HTML>
Note: See TracBrowser for help on using the repository browser.