Index: trunk/MagicSoft/include-Classes/MMcFormat/MMcConfigRunHeader.cc
===================================================================
--- trunk/MagicSoft/include-Classes/MMcFormat/MMcConfigRunHeader.cc	(revision 3610)
+++ trunk/MagicSoft/include-Classes/MMcFormat/MMcConfigRunHeader.cc	(revision 3619)
@@ -62,5 +62,5 @@
 //
 MMcConfigRunHeader::MMcConfigRunHeader(const char *name, const char *title)
-    : fNumMirrors(0), fNumPMTs(0), fIncidentTheta(181), fLightGuidesFactor(181)
+    : fNumMirrors(0), fNumPMTs(0), fIncidentTheta(181), fLightCollectionFactor(181), fLightCollectionFactorOuter(181)
 {
     fName  = name  ? name  : "MMcConfigRunHeader";
@@ -98,12 +98,17 @@
 // --------------------------------------------------------------------------
 //
-// DESCRIPTION MISSING Please contact Oscar
-//
-void  MMcConfigRunHeader::SetLightGuides(const TArrayF &theta, const TArrayF &factor)
+// Set the values corresponding to the light collection efficiency due to
+// light guides, plexiglas, double crossing, collection of 1st dynode. These
+// are fed to the camera program via de Data/LightCollection.dat file (see
+// camera manual)
+// 
+void  MMcConfigRunHeader::SetLightCollection(const TArrayF &theta, const TArrayF &factor, const TArrayF &factor_outer)
 {
     if (fIncidentTheta.GetSize()    !=theta.GetSize() ||
-        fLightGuidesFactor.GetSize()!=factor.GetSize())
+        fLightCollectionFactor.GetSize()!=factor.GetSize() ||
+        fLightCollectionFactorOuter.GetSize()!=factor_outer.GetSize())
     {
-        *fLog<< err << dbginf << "fIncidentTheta or fLightGuidesFactor ";
+        *fLog<< err << dbginf << "fIncidentTheta or fLightCollectionFactor";
+        *fLog << "or fLightCollectionFactorOuter" << endl;
         *fLog << "do not have size of setting arrays" << endl;
         return;
@@ -111,4 +116,5 @@
 
     fIncidentTheta = theta;
-    fLightGuidesFactor = factor;
+    fLightCollectionFactor = factor;
+    fLightCollectionFactorOuter = factor_outer;
 }
Index: trunk/MagicSoft/include-Classes/MMcFormat/MMcConfigRunHeader.h
===================================================================
--- trunk/MagicSoft/include-Classes/MMcFormat/MMcConfigRunHeader.h	(revision 3610)
+++ trunk/MagicSoft/include-Classes/MMcFormat/MMcConfigRunHeader.h	(revision 3619)
@@ -26,8 +26,13 @@
     // Magic Def Parameters
     Float_t fFocalDist;         // [cm] Focal distance
-    Float_t fPointSpread;       // [cm] Point spread function, sigma in x and y on the camera
+    Float_t fPointSpread;       // [cm] Point spread function, sigma in x and y on the camera as simualted in the Reflector
+    Float_t fPointSpreadX;       // [cm] Point spread function, sigma in x on the camera adding gaussian in the Camera
+    Float_t fPointSpreadY;       // [cm] Point spread function, sigma in y on the camera adding gaussian in the Camera
     Float_t fBlackSpot;         // [cm] Radius of black spot in the mirror center
     Float_t fCameraWidth;       // [cm] Radius on the camera plain 
                                 // inside which the phe are kept.
+
+    Float_t fMissPointingX;     // [deg] Misspointing in deg added in he Camera 
+    Float_t fMissPointingY;     // [deg] simulation at rho (rotation FoV) = 0. 
 
     // QE Information
@@ -35,7 +40,8 @@
     TClonesArray  *fPMTs;
 
-    // Light Guides Information
+    // Light Collection Information (guides , plexiglas, 1st dynode) 
     TArrayF fIncidentTheta;    // [deg]
-    TArrayF fLightGuidesFactor;// []
+    TArrayF fLightCollectionFactor;// []
+    TArrayF fLightCollectionFactorOuter;// []
 
 public:
@@ -45,5 +51,6 @@
     void SetMagicDef(Float_t radius, Float_t focal, Float_t point,
 		     Float_t spot, Float_t camwidth);
-    void SetLightGuides(const TArrayF &theta, const TArrayF &factor);
+    void SetLightCollection(const TArrayF &theta, const TArrayF &factor, 
+			    const TArrayF &factor_outer);
 
     UInt_t GetNumMirror() const { return fNumMirrors; }
@@ -55,4 +62,15 @@
     Float_t GetPointSpread() const { return fPointSpread; }
     void    SetPointSpread(Float_t x) { fPointSpread = x; }
+
+    Float_t GetPointSpreadX() const { return fPointSpreadX; }
+    void    SetPointSpreadX(Float_t x) { fPointSpreadX = x; }
+    Float_t GetPointSpreadY() const { return fPointSpreadY; }
+    void    SetPointSpreadY(Float_t x) { fPointSpreadY = x; }
+
+    Float_t GetMissPointingX() const {return fMissPointingX;}
+    void    SetMissPointingX(Float_t x) {fMissPointingX=x;}
+
+    Float_t GetMissPointingY() const {return fMissPointingY;}
+    void    SetMissPointingY(Float_t x) {fMissPointingY=x;}
 
     void   AddMirror(Int_t id)
@@ -69,10 +87,8 @@
     MGeomMirror &GetMirror(int i) const { return *(MGeomMirror*)(fMirrors->UncheckedAt(i)); }
 
-    TClonesArray *GetMirrors() { return fMirrors; }
-
     MGeomPMT &GetPMT(int i)  { return *(MGeomPMT*)(fPMTs->UncheckedAt(i)); }
     MGeomPMT &GetPMT(int i) const { return *(MGeomPMT*)(fPMTs->UncheckedAt(i)); }
 
-    ClassDef(MMcConfigRunHeader, 2)  // class for monte carlo configuration information
+    ClassDef(MMcConfigRunHeader, 3)  // class for monte carlo configuration information
 };
 
