Index: trunk/MagicSoft/Mars/mtemp/mpisa/Changelog_pisa
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/Changelog_pisa	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/Changelog_pisa	(revision 4196)
@@ -18,4 +18,10 @@
 
                                                  -*-*- END OF LINE -*-*-
+ 2004/05/24: Antonio Stamerra
+
+   * mpisa/classes/mtrigger/*, mpisa/classes/MTriggerReport.[h,cc]
+     - classes almost completed; compiles.  
+	
+
  2004/05/24: Antonio Stamerra
 
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/MReportTrigger.cc
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/MReportTrigger.cc	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/MReportTrigger.cc	(revision 4196)
@@ -126,22 +126,21 @@
   Int_t gsNPrescFacts=8;
   
-      *fLog << warn << "Presca"<<endl;
+  str.Remove(0, 1);
+  *fLog << warn << str<<endl;
+
   for (i=0;i<gsNPrescFacts;i++)
     {
     const Int_t ws = str.First(' ');
-    *fLog << str << endl;
-
     if (ws<=0)
        {
-        *fLog << warn << "WARNING - Cannot determine name of L1 trigger table." << endl;
+	 *fLog << warn << "WARNING - Cannot determine Prescaling factor #" << i << " descriptor" << endl;
         return kCONTINUE;
        }
-    
-    TString L1tablename = str(0, ws);
-    *fLog << "Presc " <<L1tablename <<endl;
+    TString descriptor = str(0, ws);
+    *fLog  << descriptor <<endl;
     str.Remove(0, ws);
       
       n = sscanf(str.Data(), " %li %n", &fPrescFactor->fPrescFact[i], &len);
-      if (n!=2)
+      if (n!=1)
 	{
 	  *fLog << warn << "WARNING - prescaler factor " << i << " missing." << endl;
@@ -153,5 +152,4 @@
   str=str.Strip(TString::kLeading);  
   
-  *fLog << warn << "PrescFact ok!" <<endl;
   return kTRUE;
 }
@@ -166,13 +164,9 @@
   Int_t len, n, i=0;
   Int_t gsNScalers=5;
-  Int_t D_LSB, D_MSB,L_LSB, L_MSB;
-
-  const char *pos = str.Data();
-  const char *end = str.Data() + gsNScalers;
-
-  while (pos < end)
-    {
-      i++;
-      n = sscanf(pos, " %d %d %d %d %n", &L_LSB, &L_MSB,&D_LSB, &D_MSB, &len);
+  Int_t  dLSB, dMSB,lLSB, lMSB;
+
+  for (i=0;i<gsNScalers;i++)
+    {
+      n = sscanf(str.Data(), " %d %d %d %d %n", &lLSB, &lMSB,&dLSB, &dMSB, &len);
       if (n!=4)
 	{
@@ -180,16 +174,15 @@
 	  return kCONTINUE;
 	}
-      pos += len;
+
+      str.Remove(0, len); // Remove Live-Deadtimes from string
 
       //convert to seconds and fill container
       // (FIXME! only the MSB (seconds is now considered)
-      fLiveTime->fLiveTime[i] = L_MSB;
-      fLiveTime->fDeadTime[i] = D_MSB;      
-    }
-
-  str.Remove(0, end-str.Data()); // Remove Live-Deadtimes from report string
-  str=str.Strip(TString::kLeading);  
-
-  *fLog << warn << "LiveTime ok!" <<endl;
+      (fLiveTime->fLiveTime)[i] = lMSB;
+      (fLiveTime->fDeadTime)[i] = dMSB;      
+    }
+
+  str=str.Strip(TString::kLeading);  
+
   return kTRUE;
 }
@@ -205,10 +198,7 @@
   Int_t gsNBits=20;
   
-  const char *pos = str.Data();
-  const char *end = str.Data() + gsNBits;
-
-  while (pos < end)
-    {
-      n = sscanf(pos, " %f %n", &fBit->fBit[i++], &len);
+  for (i=0;i<gsNBits;i++)
+    {
+      n = sscanf(str.Data(), " %f %n", &fBit->fBit[i], &len);
       if (n!=1)
 	{
@@ -216,11 +206,9 @@
 	  return kCONTINUE;
 	}
-      pos += len;
-    }
-
-  str.Remove(0, end-str.Data()); // Remove output bit rates from report string
-  str=str.Strip(TString::kLeading);  
-
-  *fLog << warn << "Bit ok!" <<endl;
+      str.Remove(0, len); // Remove output bit rates from string
+    }
+
+  str=str.Strip(TString::kLeading);  
+
   return kTRUE;
 }
@@ -242,5 +230,4 @@
     
     TString L1tablename = str(0, wsL1);
-    *fLog << "L1: " <<L1tablename <<endl;
     str.Remove(0, wsL1);
 
@@ -265,5 +252,4 @@
       }    
     TString L2tablename = str(0, wsL2);
-    *fLog << "L2: " <<L2tablename <<endl;
     str.Remove(0,wsL2);
     str.Strip(TString::kBoth);
@@ -283,10 +269,7 @@
   Int_t dummy;  
 
-  const char *pos = str.Data();
-  const char *end = str.Data() + gsNDummies;
-
-  while (pos < end)
-    {
-      n = sscanf(pos, " %d %n", &dummy, &len);
+  for (i=0;i<gsNDummies;i++)
+    {
+      n = sscanf(str.Data(), " %d %n", &dummy, &len);
       if (n!=1)
 	{
@@ -294,11 +277,9 @@
 	  return kCONTINUE;
 	}
-      pos += len;
-    }
-
-  str.Remove(0, end-str.Data()); // Remove dummies from report string
-  str=str.Strip(TString::kLeading);  
-
-  *fLog << warn << "Dummy ok!" <<endl;
+      str.Remove(0, len); // Remove dummies from report string
+    }
+
+  str=str.Strip(TString::kLeading);  
+
   return kTRUE;
 }
@@ -378,23 +359,4 @@
 
     /*
-    for (int i=0; i < 19; i++)
-    {
-        n = sscanf(pos, " %f %n", &fPrescalerRates[i], &len);
-        if (n!=1)
-        {
-            *fLog << warn << "WARNING - Cell Scaler Value #" << i << " missing." << endl;
-            return kCONTINUE;
-        }
-        pos += len;
-    }
-    n = sscanf(pos, " %f %f %n", &fL2BeforePrescaler, &fL2AfterPrescaler, &len);
-    if (n!=2)
-    {
-        *fLog << warn << "WARNING - Couldn't read Trigger rates." << endl;
-        return kFALSE;
-    }
-    pos += len;
-    */
-			   /*
 
     // Read Individual pixel rates
@@ -415,5 +377,5 @@
     }
 
-			   */
+    */
 
     str.Remove(0,len);
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/MReportTrigger.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/MReportTrigger.h	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/MReportTrigger.h	(revision 4196)
@@ -19,15 +19,13 @@
 {
 private:
-  Byte_t fStatus;    // Trigger status
   
-  Float_t fL2BeforePrescaler; // L2 trigger rate before prescaler
-  Float_t fL2AfterPrescaler;  // L2 trigger rate after prescaler
+  Float_t fL2BeforePrescaler; //! L2 trigger rate before prescaler
+  Float_t fL2AfterPrescaler;  //! L2 trigger rate after prescaler
   
-  MTriggerBit *fBit;        // container of the L2 prescaler rates
-  MTriggerIPR *fPixel;      // container of the IPR
-  //TArrayF fRates;            //[Hz] IPR (Individual Pixel Rates)
-  MTriggerCell *fCell;      // container of the L1 cell trigger rates
-  MTriggerPrescFact *fPrescFactor;   //container of the L2 prescaling factors
-  MTriggerLiveTime *fLiveTime; //container of the scaler live-deadtime 
+  MTriggerBit *fBit;        //! container of the L2 prescaler rates
+  MTriggerIPR *fPixel;      //! container of the IPR
+  MTriggerCell *fCell;      //! container of the L1 cell trigger rates
+  MTriggerPrescFact *fPrescFactor;  //! container of the L2 prescaling factors
+  MTriggerLiveTime *fLiveTime; //! container of the scaler live-deadtime 
   
   Bool_t SetupReading(MParList &plist);
@@ -46,6 +44,4 @@
     MReportTrigger();
 
-    Byte_t GetStatus() const { return fStatus; }
-
     Float_t GetL2BeforePrescaler() const { return fL2BeforePrescaler; }
     Float_t GetL2AfterPrescaler() const { return fL2AfterPrescaler; }
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerBit.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerBit.h	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerBit.h	(revision 4196)
@@ -18,5 +18,4 @@
 
 private:
-    Byte_t  fStatus;        // Monitor of the L2T status
     
     static const Int_t gsNBits=20;        // number of output bits
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerCell.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerCell.h	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerCell.h	(revision 4196)
@@ -17,6 +17,4 @@
     friend class MReportTrigger;
 private:
-    Byte_t  fStatus;         // Monitor of the L2T status
-
     static const Int_t gsNCells=32; //Number of fields with cell rates
                                     // 19 cells and 12 dummy 
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerIPR.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerIPR.h	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerIPR.h	(revision 4196)
@@ -17,6 +17,4 @@
     friend class MReportTrigger;
 private:
-    Byte_t  fStatus;        // Monitor of the L2T status
-
     TArrayL fIPR;            // [Hz] IPR (Individual Pixel Rates)
     
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerLiveTime.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerLiveTime.h	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerLiveTime.h	(revision 4196)
@@ -18,6 +18,4 @@
 
 private:
-    Byte_t  fStatus;        // Monitor of the L2T status
-    
     static const Int_t gsNScalers=5;        // number of scalers
 
@@ -26,5 +24,5 @@
 
 public:
-    MTriggerLiveTime() : fLiveTime(gsNScalers)  
+    MTriggerLiveTime() : fLiveTime(gsNScalers), fDeadTime(gsNScalers)  
     {
         fName  = "MTriggerLiveTime";
Index: trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerPrescFact.h
===================================================================
--- trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerPrescFact.h	(revision 4195)
+++ trunk/MagicSoft/Mars/mtemp/mpisa/classes/mtrigger/MTriggerPrescFact.h	(revision 4196)
@@ -18,5 +18,4 @@
 
 private:
-    Byte_t  fStatus;        // Monitor of the L2T status
     
     static const Int_t gsNPrescFacts=8;        // number of factors
