Index: trunk/MagicSoft/include-Classes/MMcFormat/MMcTrig.hxx
===================================================================
--- trunk/MagicSoft/include-Classes/MMcFormat/MMcTrig.hxx	(revision 614)
+++ trunk/MagicSoft/include-Classes/MMcFormat/MMcTrig.hxx	(revision 615)
@@ -9,19 +9,19 @@
 
 #include <iostream.h>
-#include "TObject.h"
+#include "MParContainer.h"
 
 #include "MTriggerDefine.h"
 
-class MMcTrig : public TObject {
+class MMcTrig : public MParContainer {
  private:
 
-  Short_t nFirstLevel  ;    // Number of First Level Trigger in this Event
-  Short_t nSecondLevel ;    // Number of Second Level Trigger in this Event
+  Short_t fNumFirstLevel  ;    // Number of First Level Trigger in this Event
+  Short_t fNumSecondLevel ;    // Number of Second Level Trigger in this Event
 
-  Float_t timeFirst[((Int_t)(TOTAL_TRIGGER_TIME/LEVEL1_DEAD_TIME))+1];
+  Float_t fTimeFirst[((Int_t)(TOTAL_TRIGGER_TIME/LEVEL1_DEAD_TIME))+1];
                             // Time when it triggers
-  Int_t pixelFirst[((Int_t)(TOTAL_TRIGGER_TIME/LEVEL1_DEAD_TIME))+1];
-                            // Pixel which triggers
-  Short_t FirstToSecond[((Int_t)(TOTAL_TRIGGER_TIME/LEVEL2_DEAD_TIME))+1];
+  Byte_t fPixelsFirst[((Int_t)(TRIGGER_PIXELS/8))+1][((Int_t)(TOTAL_TRIGGER_TIME/LEVEL1_DEAD_TIME))+1];
+                            // Pixel which are above threshold when trigger happens
+  Short_t fFirstToSecond[((Int_t)(TOTAL_TRIGGER_TIME/LEVEL2_DEAD_TIME))+1];
 
  public:
@@ -35,31 +35,37 @@
 
   void SetFirstLevel  ( Short_t nTr ) {
-    nFirstLevel = nTr ; 
+    fNumFirstLevel = nTr ; 
   } 
   void SetSecondLevel ( Short_t nTr ) {
-    nSecondLevel = nTr ; 
+    fNumSecondLevel = nTr ; 
   } 
 
   void SetTime( Float_t t, Int_t i){
     if (i>TOTAL_TRIGGER_TIME/LEVEL1_DEAD_TIME+1  || i<1){
-      cout<<"nFirstLevel out of range. Time will be -99"<<endl;
+      cout<<"fNumFirstLevel out of range. Time will be -99"<<endl;
     }
     else{
-      timeFirst[i-1]=t;
+      fTimeFirst[i-1]=t;
     }
   }
 
-  void SetPixel( Int_t iPix, Int_t i){
-    if (i>TOTAL_TRIGGER_TIME/LEVEL1_DEAD_TIME+1  || i<1){
-      cout<<"nFirstLevel out of range. Pixel will be -1"<<endl;
+  void SetMapPixels(Byte_t *map,Int_t nfirst){
+    //  
+    //  It sets the map of pixel that are above the trheshold
+    //
+
+    int i;
+
+    for(i=0;i<((Int_t)(TRIGGER_PIXELS/8))+1;i++){
+      fPixelsFirst[i][nfirst]=map[i];
     }
-    else{
-      pixelFirst[i-1]=iPix;
-    }
+    cout<<endl;
   }
 
   Int_t GetFirstLevel() {
-    return ( nFirstLevel );  
+    return ( fNumFirstLevel );  
   }
+
+  Byte_t IsPixelFired(Int_t npix, Int_t nfirstlevel);
 
   ClassDef(MMcTrig, 1)  //Stores Montecarlo Information 
