ROOT logo
#ifndef ALITRIGGERSCALERSRECORD_H
#define ALITRIGGERSCALERSRECORD_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id: AliTriggerScalersRecord.h 22322 2007-11-22 11:43:14Z cvetan $ */

///////////////////////////////////////////////////////////////////////////////
//
// Class to define the ALICE Trigger Scalers Record 
//
// Each record consists of 1 time stamp (4 words)  (AliTimeStamp)
// and an array with the scalers (AliTriggerScalers) for each trigger class 
// in partition  
//
//////////////////////////////////////////////////////////////////////////////
class TObjArray;
class  AliTimeStamp;

class AliTriggerScalersRecord : public TObject {

public:
                            AliTriggerScalersRecord();
                 virtual   ~AliTriggerScalersRecord() { fScalers.SetOwner(); fScalers.Delete(); }
                 
                 
                    void    SetTimeStamp( UInt_t orbit, UInt_t period, UInt_t seconds, UInt_t microsecs );
		    void    SetTimeGroup(UInt_t tgr){fTimeGroup=tgr;};
                    void    AddTriggerScalers( AliTriggerScalers* scaler );
                    void    AddTriggerScalers( UChar_t classIndex, UInt_t LOCB, UInt_t LOCA,        
                                              UInt_t L1CB, UInt_t L1CA, UInt_t L2CB, UInt_t L2CA );
                            
      const AliTimeStamp*   GetTimeStamp() const { return &fTimestamp; }
         const TObjArray*   GetTriggerScalers()  const { return  &fScalers; }
 const AliTriggerScalers*   GetTriggerScalersForClass( const Int_t classindex ) const;       
       AliTriggerScalers*   GetTriggerScalersForClassBinary( const Int_t classindex ) ;     
                   UInt_t   GetTimeGroup(){return fTimeGroup;}
          virtual Bool_t    IsSortable() const { return kTRUE; }
                                
           virtual Int_t    Compare( const TObject* obj ) const;
            virtual void    Print( const Option_t* opt ="" ) const;

       
             
     
private:  

            AliTimeStamp    fTimestamp;    // record timestamp
               TObjArray    fScalers;      // Array of scalers (AliTriggerScalers) 
	          UInt_t    fTimeGroup;    // Time group of record


                            AliTriggerScalersRecord( const AliTriggerScalersRecord &rec );
 AliTriggerScalersRecord&   operator=(const AliTriggerScalersRecord& rec);

   ClassDef( AliTriggerScalersRecord, 2 )  // Define a Record of Trigger Scalers 
};

#endif
 AliTriggerScalersRecord.h:1
 AliTriggerScalersRecord.h:2
 AliTriggerScalersRecord.h:3
 AliTriggerScalersRecord.h:4
 AliTriggerScalersRecord.h:5
 AliTriggerScalersRecord.h:6
 AliTriggerScalersRecord.h:7
 AliTriggerScalersRecord.h:8
 AliTriggerScalersRecord.h:9
 AliTriggerScalersRecord.h:10
 AliTriggerScalersRecord.h:11
 AliTriggerScalersRecord.h:12
 AliTriggerScalersRecord.h:13
 AliTriggerScalersRecord.h:14
 AliTriggerScalersRecord.h:15
 AliTriggerScalersRecord.h:16
 AliTriggerScalersRecord.h:17
 AliTriggerScalersRecord.h:18
 AliTriggerScalersRecord.h:19
 AliTriggerScalersRecord.h:20
 AliTriggerScalersRecord.h:21
 AliTriggerScalersRecord.h:22
 AliTriggerScalersRecord.h:23
 AliTriggerScalersRecord.h:24
 AliTriggerScalersRecord.h:25
 AliTriggerScalersRecord.h:26
 AliTriggerScalersRecord.h:27
 AliTriggerScalersRecord.h:28
 AliTriggerScalersRecord.h:29
 AliTriggerScalersRecord.h:30
 AliTriggerScalersRecord.h:31
 AliTriggerScalersRecord.h:32
 AliTriggerScalersRecord.h:33
 AliTriggerScalersRecord.h:34
 AliTriggerScalersRecord.h:35
 AliTriggerScalersRecord.h:36
 AliTriggerScalersRecord.h:37
 AliTriggerScalersRecord.h:38
 AliTriggerScalersRecord.h:39
 AliTriggerScalersRecord.h:40
 AliTriggerScalersRecord.h:41
 AliTriggerScalersRecord.h:42
 AliTriggerScalersRecord.h:43
 AliTriggerScalersRecord.h:44
 AliTriggerScalersRecord.h:45
 AliTriggerScalersRecord.h:46
 AliTriggerScalersRecord.h:47
 AliTriggerScalersRecord.h:48
 AliTriggerScalersRecord.h:49
 AliTriggerScalersRecord.h:50
 AliTriggerScalersRecord.h:51
 AliTriggerScalersRecord.h:52
 AliTriggerScalersRecord.h:53
 AliTriggerScalersRecord.h:54
 AliTriggerScalersRecord.h:55
 AliTriggerScalersRecord.h:56
 AliTriggerScalersRecord.h:57
 AliTriggerScalersRecord.h:58
 AliTriggerScalersRecord.h:59
 AliTriggerScalersRecord.h:60