]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALTriggerData.h
Bug fix in the constructor (thanks to A.Marin)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTriggerData.h
index 8fd162803fa82b7e2c0edd2a1ef5b425d0f0b129..ab33d75a15b4be16097ca0744bf6b6fd290233a2 100644 (file)
@@ -4,17 +4,15 @@
  * See cxx source for full Copyright notice                               */
 
 /*
-EMCal trigger data container
-for persistency of produced data presently stored in TTreeD
+EMCal trigger data container: can be used independently of the data stream (simulation or raw data)
+for transient storage of trigger data
 Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
 */
 
+#include "AliEMCALTriggerTypes.h"
+
 #include <TObject.h>
 #include <TVector2.h>
-
-//#include <TObjArray.h>
-//#include <Riostream.h>
-
 #include <TClonesArray.h>
 
 class AliEMCALTriggerData : public TObject 
@@ -23,81 +21,72 @@ class AliEMCALTriggerData : public TObject
 public:
                     AliEMCALTriggerData();
        virtual     ~AliEMCALTriggerData();
+
+       virtual void SetMode(Int_t i) {fMode = i;}
        
-       virtual void SetL0Patches(Int_t i, const TClonesArray& patches);
-       virtual void SetL0RegionSize(       TVector2 size ) {    fL0RegionSize = size; }
-       virtual void SetL0SubRegionSize(    TVector2 size ) { fL0SubRegionSize = size; }
-       virtual void SetL0PatchSize(        TVector2 size ) {     fL0PatchSize = size; }
-       virtual void SetL0Peaks(Int_t v, Int_t arr[96][2] ) { for (Int_t i=0;i<96;i++) for (Int_t j=0;j<2;j++) fL0Peaks[v][i][j] = arr[i][j]; }
+       virtual void SetL0Trigger(      Int_t i, Int_t j, Int_t k) { fL0Trigger[i][j] = k; }
+       virtual void SetL0Region(       Int_t i, const Int_t**& region);
+       virtual void SetL1Region(       Int_t i,       Int_t**& region);
        
-       virtual void SetL1GammaPatches(const TClonesArray& patches);
-       virtual void SetL1JetPatches(const TClonesArray& patches);
-
-       virtual void SetL1Region(Int_t**& region);
-       virtual void SetL1V0(const Int_t*& arr);
-
-       virtual void SetL1RegionSize(         TVector2 size ) {         fL1RegionSize = size; }
-       virtual void SetL1GammaPatchSize(     TVector2 size ) {     fL1GammaPatchSize = size; }
-       virtual void SetL1GammaSubRegionSize( TVector2 size ) { fL1GammaSubRegionSize = size; }
-       virtual void SetL1JetPatchSize(       TVector2 size ) {       fL1JetPatchSize = size; }
-       virtual void SetL1JetSubRegionSize(   TVector2 size ) {   fL1JetSubRegionSize = size; }
-
-       virtual void          L0Patches(       TClonesArray& patches ) const { patches =  *fL0Patches;            }
-       virtual TClonesArray* L0Patches(                             ) const {     return  fL0Patches;            }
-       virtual void          L0RegionSize(        TVector2 size     ) const { size =      fL0RegionSize;         }
-       virtual TVector2      L0RegionSize(                          ) const {     return  fL0RegionSize;         }
-       virtual void          L0PatchSize(         TVector2 size     ) const { size =      fL0PatchSize;          }
-       virtual TVector2      L0PatchSize(                           ) const {     return  fL0PatchSize;          }
-       virtual void          L0SubRegionSize(     TVector2 size     ) const { size =      fL0SubRegionSize;      }
-       virtual TVector2      L0SubRegionSize(                       ) const {     return  fL0SubRegionSize;      }
-       virtual void          L0NPatches( Int_t arr[32]              ) const { for (Int_t i=0;i<32;i++) arr[i] = fL0NPatches[i]; }
-       virtual void          L0Peaks(    Int_t arr[32][96][2]       ) const { 
-               for (Int_t i=0;i<32;i++) for (Int_t j=0;j<96;j++) for (Int_t k=0;k<2;k++) arr[i][j][k] = fL0Peaks[i][j][k]; }
-
-       virtual void          L1GammaPatches(  TClonesArray& patches ) const { patches =  *fL1GammaPatches;       }
-       virtual TClonesArray* L1GammaPatches(                        ) const {     return  fL1GammaPatches;       }
-       virtual void          L1JetPatches(    TClonesArray& patches ) const { patches =  *fL1JetPatches;         }
-       virtual TClonesArray* L1JetPatches(                          ) const {     return  fL1JetPatches;         }
-       virtual void          L1Region( Int_t arr[][64]              ) const { for (Int_t i=0;i<48;i++) for (Int_t j=0;j<64;j++) { arr[i][j] = fL1Region[i][j]; } }
-       virtual Int_t*        L1V0(                                  )       {     return &fL1V0[0];              }
-       virtual void          L1RegionSize(         TVector2& size   ) const { size =      fL1RegionSize;         }
-       virtual TVector2      L1RegionSize(                          ) const {     return  fL1RegionSize;         }
-       virtual void          L1GammaPatchSize(     TVector2& size   ) const { size =      fL1GammaPatchSize;     }
-       virtual TVector2      L1GammaPatchSize(                      ) const {     return  fL1GammaPatchSize;     }
-       virtual void          L1GammaSubRegionSize( TVector2& size   ) const { size =      fL1GammaSubRegionSize; }
-       virtual TVector2      L1GammaSubRegionSize(                  ) const {     return  fL1GammaSubRegionSize; }
-       virtual void          L1JetPatchSize(       TVector2& size   ) const { size =      fL1JetPatchSize;       }
-       virtual TVector2      L1JetPatchSize(                        ) const {     return  fL1JetPatchSize;       }
-       virtual void          L1JetSubRegionSize(   TVector2& size   ) const { size =      fL1JetSubRegionSize;   }
-       virtual TVector2      L1JetSubRegionSize(                    ) const {     return  fL1JetSubRegionSize;   }
+       virtual void SetPatches(TriggerType_t type, Int_t i, const TClonesArray& patches);
+       
+       virtual void SetL1GammaThreshold(Int_t  v) {fL1GammaThreshold = v;}
+       virtual void SetL1JetThreshold(  Int_t  v) {  fL1JetThreshold = v;}
+       virtual void SetL1V0(            Int_t* v) {for (int i = 0; i < 2; i++) fL1V0[i] = v[i];}
+       virtual void SetL1FrameMask(     Int_t  v) {     fL1FrameMask = v;}            
+       virtual void SetL1TriggerType(   Int_t* v) {for (int i = 0; i < 8; i++) fL1TriggerType[i] = v[i];}
 
-       virtual void Scan() const;
+       virtual void SetL1DataDecoded(   Int_t  v) {   fL1DataDecoded = v;} 
+       
+       virtual void          GetL0Trigger(  Int_t i, Int_t j, Int_t& k  ) const {   k = fL0Trigger[i][j];}
+       virtual Int_t         GetL0Trigger(  Int_t i, Int_t j            ) const {return fL0Trigger[i][j];}
+       
+       virtual void          GetPatches(TriggerType_t type, Int_t i, TClonesArray& patches) const;
+       virtual TClonesArray* GetPatches(TriggerType_t type, Int_t i                       ) const;
 
-       virtual void Reset();
+       virtual void          GetL1Region( Int_t i, Int_t arr[][64]             ) const;
+       
+       virtual Int_t         GetL1GammaThreshold()           const {return fL1GammaThreshold;}
+       virtual Int_t         GetL1JetThreshold()             const {return   fL1JetThreshold;}
+       virtual void          GetL1V0(            Int_t  v[]) const {for (int i = 0; i < 2; i++) v[i] = fL1V0[i];}
+       virtual Int_t         GetL1FrameMask(               ) const {return fL1FrameMask;}            
+       virtual void          GetL1TriggerType(   Int_t  v[]) const {for (int i = 0; i < 8; i++) v[i] = fL1TriggerType[i];}
+       
+       virtual Int_t         GetL1DataDecoded(             ) const {return fL1DataDecoded;}
+       
+       virtual Int_t         GetMode() const {return fMode;}
+       
+       virtual void          Scan() const;
+       virtual void          Reset();
        
 private:
 
     AliEMCALTriggerData(const AliEMCALTriggerData& rhs);            // NOT implemented
        AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented
        
-       TClonesArray*  fL0Patches;            // array of patches  
-       Int_t          fL0NPatches[32];
-       TVector2       fL0RegionSize;         // region size in units of fast or
-       TVector2       fL0SubRegionSize;      // subregion size in units of fast or
-       TVector2       fL0PatchSize;          // patch size in units of subregion
-       Int_t          fL0Peaks[32][96][2];   // max & pos of the max for ADC channels
-       
-       TClonesArray*  fL1GammaPatches;       // array of patches  
-       TClonesArray*  fL1JetPatches;         // array of patches  
-       Int_t          fL1Region[48][64];     // STU FastOR 48-by-124
-       Int_t          fL1V0[2];              // V0A V0C multiplicity estimates 
-       TVector2       fL1RegionSize;         // region size in units of fast or
-       TVector2       fL1GammaPatchSize;     // patch size in units of subregion
-       TVector2       fL1GammaSubRegionSize; // subregion size in units of fast or
-       TVector2       fL1JetPatchSize;       // patch size in units of subregion
-       TVector2       fL1JetSubRegionSize;   // subregion size in units of fast or 
-       
-       ClassDef(AliEMCALTriggerData,1)
+       Int_t                      fMode;          //
+       
+       Int_t               fL0Trigger[2][32];      //
+       
+       TClonesArray*       fL0Patches[2];          // array of patches  
+       
+       Int_t               fL0Region[32][24][4];   // from F-ALTRO data only
+       
+       TClonesArray*  fL1GammaPatches[2];          // array of patches  
+       TClonesArray*    fL1JetPatches[2];          // array of patches
+       
+       Int_t                fL1Region[2][48][64];  // STU FastOR
+
+       Int_t        fL1GammaThreshold;             //
+       Int_t          fL1JetThreshold;             //  
+       
+       Int_t                    fL1V0[2];          //
+       Int_t             fL1FrameMask;             //
+       Int_t           fL1TriggerType[8];          //
+       
+       Int_t           fL1DataDecoded;
+       
+       ClassDef(AliEMCALTriggerData,2)
 };
 
 #endif