Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 7488)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 7489)
@@ -18,4 +18,18 @@
 
                                                  -*-*- END OF LINE -*-*-
+ 2006/02/10 Thomas Bretz
+
+   * mastro/MAstro.cc:
+     - allow for more year in the algorithm calculating easter
+
+   * mcamera/MCameraDC.h, mcamera/MCameraHV.h, mcamera/MCameraTD.h,
+     mcamera/MCameraTH.h:
+     - added a sanity check in GetPixelContent
+
+   * mraw/MRawRunHeader.cc:
+     - fixed output (correct kiB instead of kB)
+
+
+
  2006/02/09 Thomas Bretz
 
Index: /trunk/MagicSoft/Mars/mastro/MAstro.cc
===================================================================
--- /trunk/MagicSoft/Mars/mastro/MAstro.cc	(revision 7488)
+++ /trunk/MagicSoft/Mars/mastro/MAstro.cc	(revision 7489)
@@ -675,8 +675,14 @@
 //
 // für die Jahre	M	N
-// 1700-1799	23	3
-// 1800-1899	23	4
-// 1900-2099	24	5
-// 2100-2199	24	6
+//  1583-1599          22       2
+//  1600-1699          22       2
+//  1700-1799          23       3
+//  1800-1899          23       4
+//  1900-1999          24       5
+//  2000-2099          24       5
+//  2100-2199          24       6
+//  2200-2299          25       0
+//  2300-2399          26       1
+//  2400-2499          25       1
 //
 // Dann fällt Ostern auf den
@@ -741,5 +747,5 @@
 Int_t MAstro::GetEasterOffset(UShort_t year)
 {
-    if (year<1700 || year>2199)
+    if (year<1583 || year>2499)
     {
         cout << "MAstro::GetDayOfEaster - Year " << year << " not between 1700 and 2199" << endl;
@@ -747,14 +753,18 @@
     }
 
-    const Int_t M = (year+2900)/200;
-
+    Int_t M=0;
     Int_t N=0;
     switch (year/100)
     {
-    case 17: N=3; break;
-    case 18: N=4; break;
-    case 19:
-    case 20: N=5; break;
-    case 21: N=6; break;
+    case 15: 
+    case 16: M=22; N=2; break;
+    case 17: M=23; N=3; break;
+    case 18: M=23; N=4; break;
+    case 19: 
+    case 20: M=24; N=5; break;
+    case 21: M=24; N=6; break;
+    case 22: M=25; N=0; break;
+    case 23: M=26; N=1; break;
+    case 24: M=25; N=1; break;
     }
 
Index: /trunk/MagicSoft/Mars/mcamera/MCameraDC.h
===================================================================
--- /trunk/MagicSoft/Mars/mcamera/MCameraDC.h	(revision 7488)
+++ /trunk/MagicSoft/Mars/mcamera/MCameraDC.h	(revision 7489)
@@ -33,4 +33,7 @@
     Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
     {
+        if (idx>=fArray.GetSize())
+            return kFALSE;
+
         val = fArray[idx];
         return val>0;
Index: /trunk/MagicSoft/Mars/mcamera/MCameraHV.h
===================================================================
--- /trunk/MagicSoft/Mars/mcamera/MCameraHV.h	(revision 7488)
+++ /trunk/MagicSoft/Mars/mcamera/MCameraHV.h	(revision 7489)
@@ -53,4 +53,7 @@
     Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
     {
+        if (idx>=fHV.GetSize())
+            return kFALSE;
+
         val = fHV[idx];
         return val>0;
Index: /trunk/MagicSoft/Mars/mcamera/MCameraTD.h
===================================================================
--- /trunk/MagicSoft/Mars/mcamera/MCameraTD.h	(revision 7488)
+++ /trunk/MagicSoft/Mars/mcamera/MCameraTD.h	(revision 7489)
@@ -31,4 +31,7 @@
     Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
     {
+        if (idx>=fTD.GetSize())
+            return kFALSE;
+
         val = fTD[idx];
         return val>0;
Index: /trunk/MagicSoft/Mars/mcamera/MCameraTH.h
===================================================================
--- /trunk/MagicSoft/Mars/mcamera/MCameraTH.h	(revision 7488)
+++ /trunk/MagicSoft/Mars/mcamera/MCameraTH.h	(revision 7489)
@@ -31,4 +31,7 @@
     Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
     {
+        if (idx>=fTH.GetSize())
+            return kFALSE;
+
         val = fTH[idx];
         return val>0;
Index: /trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc
===================================================================
--- /trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 7488)
+++ /trunk/MagicSoft/Mars/mraw/MRawRunHeader.cc	(revision 7489)
@@ -356,5 +356,5 @@
     *fLog << "Crates:       " << fNumCrates << " x " << fNumPixInCrate << " Pixel/Crate = " << fNumCrates*fNumPixInCrate << " Pixel/Evt" << endl;
     *fLog << "Num Pixels:   " << GetNumNormalPixels() << " (normal) + " << GetNumSpecialPixels() << " (special) = " << GetNumConnectedPixels() << " (total)" << endl;
-    *fLog << "Samples:      " << fNumSamplesHiGain << "/" << fNumSamplesLoGain << " (hi/lo) = " << (fNumSamplesLoGain+fNumSamplesHiGain) * fNumCrates * fNumPixInCrate /1024 << "kB/Evt" << endl;
+    *fLog << "Samples:      " << fNumSamplesHiGain << "/" << fNumSamplesLoGain << " (hi/lo) = " << (fNumSamplesLoGain+fNumSamplesHiGain) * fNumCrates * fNumPixInCrate /1024 << "kiB/Evt" << endl;
     *fLog << "Evt Counter:  " << fNumEvents << endl;
 
