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

Last change on this file since 348 was 330, checked in by harald, 25 years ago
Adding the Checkmc project
File size: 15.6 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 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><FONT COLOR="#CC6600"><FONT SIZE=+1>Camera</FONT></FONT>
94<BR>To change the information of the cerenkov photons to FADC counts you
95have to use the camera program. This program contains a lot of different
96other sources that are also used by the reflector or the Evita project.
97<P><FONT COLOR="#CC6600"><FONT SIZE=+1>Evita (EVent Imaging Tool for Analysis)</FONT></FONT>
98<BR>To display one event use this nice Gui package.
99<P>.......
100<BR>&nbsp;
101<P><FONT COLOR="#CC6600"><FONT SIZE=+1>CvsDummy</FONT></FONT>
102<BR>This is the project for CVS beginners to play with a project. How to
103use comand with out the danger of destroying some stuff.
104<BR>&nbsp;</BLOCKQUOTE>
105It is obvious that some source code of a given directory is part of different
106projects. I.e. the directory include-MC is a part of the reflector and
107the camera project.
108<P>
109<HR WIDTH="100%">
110<BR><A NAME="Anchor_Commands"></A><B><FONT COLOR="#FF0000"><FONT SIZE=+2>Commands</FONT></FONT></B>
111<BR>&nbsp;
112<OL>
113<LI>
114Continue with development of existing projects</LI>
115
116<BR>command: cvs checkout <I>project</I>
117<BR>Then you will get all the directories that are necessary for compiling
118the given project. So go first in the directory with the Makefile and try
119to compile it. Then you can start with working on the source files. At
120the end of your work you will have modified source files.
121<BR>&nbsp;
122<LI>
123Check the status of the files in your directory</LI>
124
125<BR>command: cvs status
126<BR>Then you will get a long list with information of all files in this
127directory and all sub directory.
128<BR>If you want to see only the names of the modified files use the
129<BR>command:cvs status | grep odi
130<BR>&nbsp;
131<LI>
132See differences of your files and the repository</LI>
133
134<BR>command: cvs diff <I>[filename]</I>
135<BR>This will show you the changed you did.
136<BR>&nbsp;
137<LI>
138Commit your changes to the repository</LI>
139
140<BR>command: cvs commit [<I>filename]</I>
141<BR>The changes you made will then be in the repository and are available
142for all other developers.
143<BR>&nbsp;
144<LI>
145Remove all your files</LI>
146
147<BR>command: cvs release -d [filename]
148<BR>Do this in the most upper directory (There you can see i.e. MagicSoft.).
149If CVS find some altered files it will not deleted all immediately. But
150if you have no altered files say yes and delete all the files and directory
151you worked on. So you are always sure that there is no old or changed version
152of a project.</OL>
153
154<HR WIDTH="100%">
155<P><A NAME="Anchor_StructureRepository"></A><FONT COLOR="#FF0000"><FONT SIZE=+2>Structure
156of the Repository</FONT></FONT>
157<P>All the Software is inside the directory. The structure of the sub directories
158is following one:
159<BR>&nbsp;
160<BR>&nbsp;
161<TABLE BORDER CELLPADDING=10 COLS=7 WIDTH="100%" NOSAVE >
162<TR>
163<TD><FONT SIZE=+1><A HREF="#Anchor_MagicSoft">MagicSoft</A></FONT></TD>
164
165<TD><FONT SIZE=+1><A HREF="#Anchor_CvsDoku">CvsDoku</A></FONT></TD>
166
167<TD></TD>
168
169<TD></TD>
170
171<TD></TD>
172
173<TD></TD>
174
175<TD></TD>
176</TR>
177
178<TR>
179<TD></TD>
180
181<TD><FONT SIZE=+1><A HREF="#Anchor_Simulation">Simulation</A></FONT></TD>
182
183<TD><FONT SIZE=+1><A HREF="#Anchor_Corsika">Corsika</A></FONT></TD>
184
185<TD><FONT SIZE=+1><A HREF="#Anchor_Mmcs">Mmcs</A></FONT></TD>
186
187<TD></TD>
188
189<TD></TD>
190
191<TD></TD>
192</TR>
193
194<TR>
195<TD></TD>
196
197<TD></TD>
198
199<TD></TD>
200
201<TD><FONT SIZE=+1><A HREF="#Anchor_Checkmc">Checkmc</A></FONT></TD>
202
203<TD></TD>
204
205<TD></TD>
206
207<TD></TD>
208</TR>
209
210<TR>
211<TD></TD>
212
213<TD></TD>
214
215<TD><FONT SIZE=+1><A HREF="#Anchor_Detector">Detector</A></FONT></TD>
216
217<TD><FONT SIZE=+1><A HREF="#Anchor_Reflector">Reflector</A></FONT></TD>
218
219<TD></TD>
220
221<TD></TD>
222
223<TD></TD>
224</TR>
225
226<TR>
227<TD></TD>
228
229<TD></TD>
230
231<TD></TD>
232
233<TD><FONT SIZE=+1><A HREF="#anchor_Camera">Camera</A></FONT></TD>
234
235<TD></TD>
236
237<TD></TD>
238
239<TD></TD>
240</TR>
241
242<TR>
243<TD></TD>
244
245<TD></TD>
246
247<TD></TD>
248
249<TD><FONT SIZE=+1><A HREF="#Anchor_include-GENERAL">include-GENERAL</A></FONT></TD>
250
251<TD></TD>
252
253<TD></TD>
254
255<TD></TD>
256</TR>
257
258<TR>
259<TD></TD>
260
261<TD></TD>
262
263<TD></TD>
264
265<TD><FONT SIZE=+1><A HREF="#Anchor_include-CORSIKA">include-CORSIKA</A></FONT></TD>
266
267<TD></TD>
268
269<TD></TD>
270
271<TD></TD>
272</TR>
273
274<TR>
275<TD></TD>
276
277<TD></TD>
278
279<TD></TD>
280
281<TD><FONT SIZE=+1><A HREF="#Anchor_include-MC">include-MC</A></FONT></TD>
282
283<TD></TD>
284
285<TD></TD>
286
287<TD></TD>
288</TR>
289
290<TR>
291<TD></TD>
292
293<TD></TD>
294
295<TD></TD>
296
297<TD><FONT SIZE=+1><A HREF="#Anchor_include-MTrigger">include-MTrigger</A></FONT></TD>
298
299<TD></TD>
300
301<TD></TD>
302
303<TD></TD>
304</TR>
305
306<TR>
307<TD></TD>
308
309<TD></TD>
310
311<TD></TD>
312
313<TD><FONT SIZE=+1><A HREF="#Anchor_DetData">Data</A></FONT></TD>
314
315<TD></TD>
316
317<TD></TD>
318
319<TD></TD>
320</TR>
321
322<TR>
323<TD></TD>
324
325<TD></TD>
326
327<TD></TD>
328
329<TD><FONT SIZE=+1><A HREF="#Anchor_lib">lib&nbsp;</A></FONT></TD>
330
331<TD></TD>
332
333<TD></TD>
334
335<TD></TD>
336</TR>
337
338<TR>
339<TD></TD>
340
341<TD><FONT SIZE=+1><A HREF="#Anchor_include-Classes">include-Classes</A></FONT></TD>
342
343<TD></TD>
344
345<TD></TD>
346
347<TD></TD>
348
349<TD></TD>
350
351<TD></TD>
352</TR>
353
354<TR>
355<TD></TD>
356
357<TD></TD>
358
359<TD></TD>
360
361<TD></TD>
362
363<TD></TD>
364
365<TD></TD>
366
367<TD></TD>
368</TR>
369
370<TR>
371<TD></TD>
372
373<TD><FONT SIZE=+1><A HREF="#Anchor_Analysis">Analysis</A></FONT></TD>
374
375<TD></TD>
376
377<TD></TD>
378
379<TD></TD>
380
381<TD></TD>
382
383<TD></TD>
384</TR>
385
386<TR NOSAVE>
387<TD NOSAVE></TD>
388
389<TD></TD>
390
391<TD></TD>
392
393<TD></TD>
394
395<TD></TD>
396
397<TD></TD>
398
399<TD></TD>
400</TR>
401
402<TR>
403<TD></TD>
404
405<TD><FONT SIZE=+1>CvsDummy&nbsp;</FONT></TD>
406
407<TD></TD>
408
409<TD></TD>
410
411<TD></TD>
412
413<TD></TD>
414
415<TD></TD>
416</TR>
417</TABLE>
418
419<HR WIDTH="100%">
420<BR>&nbsp;
421<H3>
422<FONT COLOR="#FF0000"><FONT SIZE=+2>Detail of sub directories in the repository</FONT></FONT></H3>
423
424<P><BR><A NAME="Anchor_MagicSoft"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>MagicSoft</FONT></FONT>
425<P>In this directory of the cvs-repository you find all software that is
426developed for MAGIC using CVS.
427<BR>This directory contain four sub directories, CvsDoku, Simulation, Analysis
428and include-Classes.
429<BR>&nbsp;
430<BLOCKQUOTE><A NAME="Anchor_CvsDoku"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>CvsDoku</FONT></FONT>
431<P>In this directory of the cvs-repository you find some html pages like
432the one you are looking at the moment. This documentation is written as
433a guideline for MAGIC developers using the CVS tool. Also the documentation
434for CVS usage is using CVS!!
435<P><A NAME="Anchor_Simulation"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>Simulation</FONT></FONT>
436<BR>For MAGIC a lot of programs were developed to simulate the behavior
437of Air Showers, the Mirrors and the Camera. All this things you need for
438simulation is inside this directory.
439<BR>&nbsp;
440<BLOCKQUOTE><A NAME="Anchor_Corsika"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Corsika</FONT></FONT>
441<BR>All things needed for the simulation of Air Showers. All this simulation
442are based on the CORSIKA program of the KASCADE group in Karlsruhe.
443<BLOCKQUOTE><A NAME="Anchor_Mmcs"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Mmcs</FONT></FONT>
444<BR><FONT COLOR="#000000">(Magic Monte Carlo Simulation)</FONT>
445<BR><FONT COLOR="#000000">Here you find all stuff for the generation of
446air showers using the CORSIKA program.</FONT>
447<P><A NAME="Anchor_Checkmc"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Checkmc</FONT></FONT>
448<BR><FONT COLOR="#000000">After the production of air shower it is good
449to get an impression about the reliabability of the produced data. This
450can be done by this project.</FONT></BLOCKQUOTE>
451
452<P><BR><A NAME="Anchor_Detector"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Detector</FONT></FONT>
453<BR>&nbsp;Every thing that is needed to transfer the simulated events to
454the common raw data format. There are a lot of different tools inside this
455directory, mainly based on the work of Jose Carlos Gonzales.
456<BR>&nbsp;
457<BLOCKQUOTE><A NAME="Anchor_Reflector"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Reflector</FONT></FONT>
458<BR>&nbsp;Here you find the source code of the reflector program. This
459is written to read the CORSIKA (Mmcs) output. With this data you can simulate
460the behavior of the MAGIC mirrors. But to compile and run the program some
461other sub directories are needed.
462<P><A NAME="anchor_Camera"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>Camera</FONT></FONT>
463<P><FONT COLOR="#330000">&nbsp;In this directory are all the files of the
464camera program. The camera program is calculating the response of each
465photo multiplier of the camera. At the end we get the number of ADC count
466for each time slice of each pixel. In the previous there were also some
467smaller calculations of the camera pixels in it.</FONT>
468<P><A NAME="Anchor_include-CORSIKA"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>include-CORSIKA</FONT></FONT>
469<BR>Here you can find a implementation to read the CORSIKA output. This
470classes are needed by the reflector program.
471<P><A NAME="Anchor_include-MC"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>include-MC</FONT></FONT>
472<BR>Here you can find a implementation to write and read the output of
473the reflector program. This classes are needed by the reflector and the
474camera program.
475<P><A NAME="Anchor_include-GENERAL"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>include-GENERAL</FONT></FONT>
476<BR>Here you can find some header file that are needed by reflector and
477camera. For example the declaration of the runlib is found here.
478<BR>&nbsp;
479<P><A NAME="Anchor_include-MTrigger"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>include-MTrigger</FONT></FONT>
480<BR>Studies of the trigger behavior are very fundamental things. The simulation
481of the trigger is a part of the camera program. All the methods are put
482in the Classes (called MTRigger ) in this directory.
483<P><A NAME="Anchor_DetData"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>Data</FONT></FONT>
484<BR>All the different data files for the simulation tools reflector and
485camera are in this directory. For example the geometry of the MAGIC telescope
486is stored in magic.def or the data of the focal points is stored in focal.dat.
487<P><A NAME="Anchor_lib"></A><FONT COLOR="#CC33CC"><FONT SIZE=+2>lib</FONT></FONT>
488<BR>Here you find the ranlib that is used by reflector and camera.</BLOCKQUOTE>
489</BLOCKQUOTE>
490<A NAME="Anchor_include-Classes"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>include-Classes</FONT></FONT>
491<P>In this directory you can find all Classes (C++ and hopefully OOP )
492that are used for simulation and for analysis. An example is the RawDataFormat
493used in the Analysis and the Camera programs. The Classes are MRawPixel,
494MRawEvt, MRawMc .....
495<P><A NAME="Anchor_Analysis"></A><FONT COLOR="#CC66CC"><FONT SIZE=+2>Analysis</FONT></FONT>
496<P>In this directory you can find all Programs to analyze data of MAGIC.
497Here you will find tools to look on single Events, to calculate the Hillas
498parameters and to find the periodicity of one special source. (But all
499this is still under construction!!!! Here the must development is needed
500in the future!!!)
501<BR>&nbsp;</BLOCKQUOTE>
502
503<HR WIDTH="100%">
504<BR><I>H.Kornmayer</I>
505<BR>&nbsp;
506</BODY>
507</HTML>
Note: See TracBrowser for help on using the repository browser.