]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliTriggerRunScalers.h
Bug corrected.
[u/mrichter/AliRoot.git] / STEER / AliTriggerRunScalers.h
index 67bce8eb7aa83d678bc1c80d2a3e1dc0076c4bd7..055be486c1a13748d3718bde03240c6b618db9fa 100644 (file)
@@ -15,7 +15,9 @@
 //////////////////////////////////////////////////////////////////////////////
 class TObject;
 class AliTimeStamp;
+class AliTriggerScalersESD;
 class AliTriggerScalersRecord;
+class AliTriggerScalersRecordESD;
 
 #include "TArrayC.h"
 
@@ -23,18 +25,21 @@ class AliTriggerRunScalers : public TObject {
 
 public:
                          AliTriggerRunScalers();
-              virtual   ~AliTriggerRunScalers() { fScalersRecord.SetOwner(); fScalersRecord.Delete(); }
-
+              virtual   ~AliTriggerRunScalers();
   //  Getters
                   Short_t    GetVersion()          const { return fVersion;       }            
                   ULong_t    GetRunNumber()        const { return fRunNumber;     }
                   UChar_t    GetNumClasses()       const { return fnClasses;      }
                    Char_t    GetClass( Int_t i )   const { return fClassIndex[i]; }
-                TObjArray*   GetScalersRecords()   { return &fScalersRecord; } 
-  AliTriggerScalersRecord*   GetScalersRecord( Int_t index )         
-                                                { return (AliTriggerScalersRecord*)fScalersRecord.At(index); }
-                    Int_t    FindNearestScalersRecord( AliTimeStamp * stamp );
-                   Bool_t    ConsistencyCheck();
+          const TObjArray*   GetScalersRecords()   const { return &fScalersRecord; } 
+          const TObjArray*   GetScalersRecordsESD()   const { return &fScalersRecordESD; } 
+  AliTriggerScalersRecord*   GetScalersRecord( Int_t index ) const { return (AliTriggerScalersRecord*)fScalersRecord.At(index); }
+                    Int_t    FindNearestScalersRecord( const AliTimeStamp *stamp ) const;
+     AliTriggerScalersESD*   GetScalersForEventClass(const AliTimeStamp* stamp,const Int_t classIndex) const;
+ // Analysis               
+                    Int_t    ConsistencyCheck(Int_t position,Bool_t correctOverflow, UInt_t** overflow);
+                   Int_t    CorrectScalersOverflow();
+                   Int_t    CheckRunScalers(){return (fScalersRecord.GetEntriesFast()==fScalersRecordESD.GetEntriesFast());}
   //  Setters
                      void    SetVersion( Short_t ver )       { fVersion = ver;   }            
                      void    SetRunNumber( ULong_t run )     { fRunNumber = run; }
@@ -42,22 +47,22 @@ public:
                      void    SetClass( UChar_t i, UChar_t index ) { fClassIndex[i]=index; }
                      void    AddTriggerScalers( AliTriggerScalersRecord* scal );
              virtual void    Print( const Option_t* opt ="" ) const;
-
+     AliTriggerRunScalers( const AliTriggerRunScalers &run );
+     AliTriggerRunScalers&    operator=(const AliTriggerRunScalers& run);
                                         
 static AliTriggerRunScalers*  ReadScalers( TString & filename );
                                       
-
 private:
                   Short_t    fVersion;            // Version
                   ULong_t    fRunNumber;          // Run number
                   UChar_t    fnClasses;           // Number of trigger classes
                   TArrayC    fClassIndex;         // list of classes used in this partition
                 TObjArray    fScalersRecord;      // Array of records (AliTriggerScalersRecord)
+                TObjArray    fScalersRecordESD;   // Array of records with 64bit scalers (AliTriggerScalersRecordESD)
+
     
-                        //     AliTriggerRunScalers( const AliTriggerRunScalers &run );
-    AliTriggerRunScalers&    operator=(const AliTriggerRunScalers& run);
 
-   ClassDef( AliTriggerRunScalers, 1 )  // Define a Run Trigger Scalers (Scalers)
+   ClassDef( AliTriggerRunScalers, 3 )  // Define a Run Trigger Scalers (Scalers)
 };
 
 #endif