Index: trunk/MagicSoft/Simulation/Detector/Camera/camera.cxx
===================================================================
--- trunk/MagicSoft/Simulation/Detector/Camera/camera.cxx	(revision 308)
+++ trunk/MagicSoft/Simulation/Detector/Camera/camera.cxx	(revision 327)
@@ -21,7 +21,7 @@
 //
 // $RCSfile: camera.cxx,v $
-// $Revision: 1.1.1.1 $
+// $Revision: 1.2 $
 // $Author: harald $ 
-// $Date: 1999-11-05 11:59:31 $
+// $Date: 1999-11-19 08:40:42 $
 //
 ////////////////////////////////////////////////////////////////////////
@@ -517,5 +517,5 @@
   MTrigger  Trigger ;         //@< A instance of the Class MTrigger 
 
-#endif __DETAIL_TRIGGER__ 
+#endif // __DETAIL_TRIGGER__ 
 
   //!@' @#### Definition of variables for |getopt()|.
@@ -728,5 +728,5 @@
   unsigned short ulli = 0 ; 
 
-#endif __ROOT__
+#endif // __ROOT__
 
   // for safety and for dimensioning image_data: count the elements in the 
@@ -857,9 +857,9 @@
   fnslicesum = new float [ (2 * SLICES) ] ; 
   
-  float slices   [ct_NPixels][ (2 * SLICES) ] ; 
-  float slices2  [ct_NPixels][ SLICES ] ; 
+  float slices   [CAMERA_PIXELS][ (2 * SLICES) ] ; 
+  float slices2  [CAMERA_PIXELS][ SLICES ] ; 
 
   float trans    [ SLICES ] ; 
-#endif __ROOT__ 
+#endif // __ROOT__ 
 
   
@@ -1034,5 +1034,5 @@
 	    slices [i][ii] = 0 ; 
 	  }
-#endif __ROOT__ 
+#endif // __ROOT__ 
 	}
 
@@ -1046,5 +1046,5 @@
       
 	Trigger.Reset() ; 
-#endif __DETAIL_TRIGGER__ 
+#endif // __DETAIL_TRIGGER__ 
        
 	//- - - - - - - - - - - - - - - - - - - - - - - - - 
@@ -1300,5 +1300,5 @@
 	  fnslicesum[t_chan]  += 1.0 ; 
 	  slices[nPMT][t_chan] += 1.0 ; 
-#endif __ROOT__ 	  
+#endif // __ROOT__ 	  
 
 #ifdef __DETAIL_TRIGGER__ 
@@ -1309,5 +1309,5 @@
 
 	  Trigger.Fill( nPMT, ( t - t_ini  ) ) ; 
-#endif __DETAIL_TRIGGER__ 
+#endif // __DETAIL_TRIGGER__ 
 	  
 	  // read next CPhoton
@@ -1408,5 +1408,5 @@
       //   Trigger.Print() ; 
       cout << Trigger.Diskriminate() << endl << endl ;
-#endif __DETAIL_TRIGGER__ 
+#endif // __DETAIL_TRIGGER__ 
 
 #ifdef __ROOT__
@@ -1481,5 +1481,5 @@
       McEvt->Clear() ; 
 
-#endif __ROOT__
+#endif // __ROOT__
 	
 	//++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2132,5 +2132,5 @@
       outfile.Close() ; 
 
-#endif __ROOT__
+#endif // __ROOT__
               
   // close input file
@@ -2159,5 +2159,5 @@
 
   Trigger.PrintStat() ; 
-#endif __DETAIL_TRIGGER__ 
+#endif // __DETAIL_TRIGGER__ 
 
   // program finished
@@ -3111,4 +3111,227 @@
 //
 // $Log: not supported by cvs2svn $
+// Revision 1.1.1.1  1999/11/05 11:59:31  harald
+// This the starting point for CVS controlled further developments of the
+// camera program. The program was originally written by Jose Carlos. 
+// But here you can find a "rootified" version to the program. This means 
+// that there is no hbook stuff in it now. Also the output of the
+// program changed to the MagicRawDataFormat. 
+//
+// The "rootification" was done by Dirk Petry and Harald Kornmayer. 
+//
+// In the following you can see the README file of that version:
+//
+// ==================================================
+//
+// Fri Oct 22  1999   D.P.
+//
+// The MAGIC Monte Carlo System
+//
+// Camera Simulation Programme
+// ---------------------------
+//
+// 1) Description
+//
+// This version is the result of the fusion of H.K.'s
+// root_camera which is described below (section 2)
+// and another version by D.P. which had a few additional
+// useful features.
+//
+// The version compiles under Linux with ROOT 2.22 installed
+// (variable ROOTSYS has to be set).
+//
+// Compile as before simply using "make" in the root_camera
+// directory.
+//
+// All features of H.K.'s root_camera were retained.
+//
+// Additional features of this version are:
+//
+//   a) HBOOK is no longer used and all references are removed.
+//
+//   b) Instead of HBOOK, the user is given now the possibility of 
+//      having Diagnostic data in ROOT format as a complement
+//      to the ROOT Raw data.
+//
+//      This data is written to the file which is determined by
+//      the new input parameter "diag_file" in the camera parameter
+//      file.
+//
+//      All source code file belonging to this part have filenames
+//      starting with "MDiag".
+//
+//      The user can read the output file using the following commands
+//      in an interactive ROOT session:
+//
+//        	root [0] .L MDiag.so
+// 	root [1] new TFile("diag.root");
+// 	root [2] new TTreeViewer("T");
+// 	
+//      This brings up a viewer from which all variables of the
+//      TTree can be accessed and histogrammed. This example
+//      assumes that you have named the file "diag.root", that
+//      you are using ROOT version 2.22 or later and that you have
+//      the shared object library "MDiag.so" which is produced
+//      by the Makefile along with the executable "camera".
+//        
+//  !   The contents of the so-called diag file is not yet fixed.
+//  !   At the moment it is what J.C.G. used to put into the HBOOK
+//  !   ntuple. In future versions the moments calculation can be
+//  !   removed and the parameter list be modified correspondingly.
+//
+//   c) Now concatenated reflector files can be read. This is useful
+//      if you have run the reflector with different parameters but
+//      you want to continue the analysis with all reflector data
+//      going into ONE ROOT outputfile.
+//
+//      The previous camera version contained a bug which made reading 
+//      of two or more concatenated reflector files impossible.
+//
+//   d) The reflector output format was changed. It is now version
+//      0.4 .
+//      The change solely consists in a shortening of the flag
+//      definition in the file 
+//
+//            include-MC/MCCphoton.hxx  
+//
+//  !   IF YOU WANT TO READ REFLECTOR FORMAT 0.3, you can easily
+//  !   do so by recompiling camera with the previous version of
+//  !   include-MC/MCCphoton.hxx.
+//
+//      The change was necessary for saving space and better
+//      debugging. From now on, this format can be frozen.
+//
+//  !   For producing reflector output in the new format, you
+//  !   of course have to recompile your reflector with the
+//  !   new include-MC/MCCphoton.hxx .
+//
+//   e) A first version of the pixelization with the larger
+//      outer pixels is implemented. THIS IS NOT YET FULLY
+//      TESTED, but first rough tests show that it works
+//      at least to a good approximation.
+//
+//      The present version implements the camera outline
+//      with 18 "gap-pixels" and 595 pixels in total as
+//      shown in 
+//
+//         http://sarastro.ifae.es/internal/home/hardware/camera/numbering.ps
+//
+//      This change involved 
+//
+// 	(i) The file pixels.dat is no longer needed. Instead
+//           the coordinates are generated by the program itself
+//           (takes maybe 1 second). In the file 
+//
+// 		pixel-coords.txt
+//
+// 	  in the same directory as this README, you find a list
+//           of the coordinates generated by this new routine. It
+//           has the format
+//
+//               number   i   j   x  y  size-factor
+//
+//           where i and j are J.C.G.'s so called biaxis hexagonal
+//           coordinates (for internal use) and x and y are the
+//           coordinates of the pixel centers in the standard camera
+//           coordinate system in units of centimeters. The value
+//           of "size-factor" determines the linear size of the pixel
+//           relative to the central pixels. 
+//
+//         (ii) The magic.def file has two additional parameters
+//           which give the number of central pixels and the
+//           number of gap pixels
+//
+//         (iii) In camera.h and camera.cxx several changes were 
+//           necessary, among them the introduction of several
+//           new functions 
+//
+//      The newly suggested outline with asymmetric Winston cones
+//      will be implemented in a later version.
+//
+//   f) phe files can no longer be read since this contradicts
+//      our philosophy that the analysis should be done with other
+//      programs like e.g. EVITA and not with "camera" itself.
+//      This possibility was removed. 
+//
+//   g) ROOT is no longer invoked with an interactive interface.
+//      In this way, camera can better be run as a batch program and
+//      it uses less memory.
+//
+//   h) small changes concerning the variable "t_chan" were necessary in
+//      order to avoid segmentation faults: The variable is used as an
+//      index and it went sometimes outside the limits when camera
+//      was reading proton data. This is because the reflector files
+//      don't contain the photons in a chronological order and also
+//      the timespread can be considerably longer that the foreseen
+//      digitisation timespan. Please see the source code of camera.cxx
+//      round about line 1090.
+//
+//   j) several unused variables were removed, a few warning messages
+//      occur when you compile camera.cxx but these can be ignored at
+//      the moment.
+//
+// In general the program is of course not finished. It still needs
+// debugging, proper trigger simulation, simulation of the asymmetric
+// version of the outer pixels, proper NSB simulation, adaption of
+// the diag "ntuple" contents to our need and others small improvements.
+//
+// In the directory rfl-files there is now a file in reflector format 0.4
+// containing a single event produced by the starfiled adder. It has
+// a duration of 30 ns and represents the region around the Crab Nebula.
+// Using the enclosed input parameter file, camera should process this
+// file without problems.
+//
+// 2) The README for the previous version of root_camera
+//
+// README for a preliminary version of the 
+// root_camera program. 
+//
+// root_camera is based on the program "camera"of Jose Carlos
+// Gonzalez. It was changed in the way that only the pixelisation 
+// and the distibution of the phe to the FADCs works in a 
+// first version. 
+//
+// Using the #undef command most possibilities of the orignal 
+// program are switched of. 
+//
+// The new parts are signed by 
+//
+// - ROOT or __ROOT__ 
+//   nearly all  important codelines for ROOT output are enclosed 
+//   in structures like 
+//   #ifdef __ROOT__ 
+//   
+//     code 
+//
+//   #endif __ROOT__ 
+//
+//   In same case the new lines are signed by a comment with the word 
+//   ROOT in it. 
+//
+//   For timing of the pulse some variable names are changed. 
+//   (t0, t1, t  -->  t_ini, t_fin, t_1st, t_chan,...) 
+//   Look also for this changes. 
+//
+//   For the new root-file is also a change in readparm-files
+//
+//
+// - __DETAIL_TRIGGER__
+//
+//   This is for the implementation of the current work on trigger 
+//   studies. Because the class MTrigger is not well documented it 
+//   isn´t a part of this tar file. Only a dummy File exists. 
+//
+//
+//
+// With all files in the archive, the root_camera program should run. 
+//
+// A reflector file is in the directory rfl-files
+//
+// ==================================================
+//
+// From now on, use CVS for development!!!!
+//
+//
+//
 // Revision 1.3  1999/10/22 15:01:28  petry
 // version sent to H.K. and N.M. on Fri Oct 22 1999
