ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id: AliTriggerScalers.cxx 22322 2007-11-22 11:43:14Z cvetan $ */

///////////////////////////////////////////////////////////////////////////////
//
//  Class to define the ALICE Trigger Scalers  
//
//  For each trigger class there are six scalers:
//
//    LOCB       L0 triggers before any vetos 
//    LOCA       L0 triggers after all vetos 
//    L1CB       L1 triggers before any vetos 
//    L1CA       L1 triggers after all vetos 
//    L2CB       L2 triggers before any vetos 
//    L2CA       L2 triggers after all vetos 
//
//////////////////////////////////////////////////////////////////////////////

#include <Riostream.h>

#include "AliLog.h"
#include "AliTriggerScalers.h"

using std::endl;
using std::cout;
ClassImp( AliTriggerScalers )

//_____________________________________________________________________________
AliTriggerScalers::AliTriggerScalers(): 
  TObject(),
  fClassIndex(0),
  fLOCB(0),     
  fLOCA(0),     
  fL1CB(0),     
  fL1CA(0),     
  fL2CB(0),     
  fL2CA(0)      
{
  // Default constructor
}

//_____________________________________________________________________________
AliTriggerScalers::AliTriggerScalers( UChar_t classIndex, UInt_t LOCB, UInt_t LOCA,        
                                      UInt_t L1CB, UInt_t L1CA, UInt_t L2CB, UInt_t L2CA ):   
  TObject(),
  fClassIndex( classIndex ),
  fLOCB(LOCB),     
  fLOCA(LOCA),     
  fL1CB(L1CB),     
  fL1CA(L1CA),     
  fL2CB(L2CB),     
  fL2CA(L2CA)      
{
  // Default constructor
}

//_____________________________________________________________________________
Int_t  AliTriggerScalers::Compare( const TObject* obj ) const
{
  // Compare Scaler by class index (to sort in Scaler Record by class index)
  if( fClassIndex < ((AliTriggerScalers*)obj)->fClassIndex ) return -1;
  if( fClassIndex > ((AliTriggerScalers*)obj)->fClassIndex ) return 1;
  return 0;
}
//____________________________________________________________________________
void AliTriggerScalers::GetAllScalers(UInt_t *scalers) const
{
 scalers[0]=fLOCB;
 scalers[1]=fLOCA;
 scalers[2]=fL1CB;
 scalers[3]=fL1CA;
 scalers[4]=fL2CB;
 scalers[5]=fL2CA;
}
//_____________________________________________________________________________
void AliTriggerScalers::Print( const Option_t* ) const
{
   // Print
  cout << "Trigger Scalers for Class: " << (Int_t)fClassIndex << endl;
  cout << "  LOCB: " << fLOCB << " LOCA: " << fLOCA; //<< endl;
  cout << "  L1CB: " << fL1CB << " L1CA: " << fL1CA; //<< endl;
  cout << "  L2CB: " << fL2CB << " L2CA: " << fL2CA << endl;
}
 AliTriggerScalers.cxx:1
 AliTriggerScalers.cxx:2
 AliTriggerScalers.cxx:3
 AliTriggerScalers.cxx:4
 AliTriggerScalers.cxx:5
 AliTriggerScalers.cxx:6
 AliTriggerScalers.cxx:7
 AliTriggerScalers.cxx:8
 AliTriggerScalers.cxx:9
 AliTriggerScalers.cxx:10
 AliTriggerScalers.cxx:11
 AliTriggerScalers.cxx:12
 AliTriggerScalers.cxx:13
 AliTriggerScalers.cxx:14
 AliTriggerScalers.cxx:15
 AliTriggerScalers.cxx:16
 AliTriggerScalers.cxx:17
 AliTriggerScalers.cxx:18
 AliTriggerScalers.cxx:19
 AliTriggerScalers.cxx:20
 AliTriggerScalers.cxx:21
 AliTriggerScalers.cxx:22
 AliTriggerScalers.cxx:23
 AliTriggerScalers.cxx:24
 AliTriggerScalers.cxx:25
 AliTriggerScalers.cxx:26
 AliTriggerScalers.cxx:27
 AliTriggerScalers.cxx:28
 AliTriggerScalers.cxx:29
 AliTriggerScalers.cxx:30
 AliTriggerScalers.cxx:31
 AliTriggerScalers.cxx:32
 AliTriggerScalers.cxx:33
 AliTriggerScalers.cxx:34
 AliTriggerScalers.cxx:35
 AliTriggerScalers.cxx:36
 AliTriggerScalers.cxx:37
 AliTriggerScalers.cxx:38
 AliTriggerScalers.cxx:39
 AliTriggerScalers.cxx:40
 AliTriggerScalers.cxx:41
 AliTriggerScalers.cxx:42
 AliTriggerScalers.cxx:43
 AliTriggerScalers.cxx:44
 AliTriggerScalers.cxx:45
 AliTriggerScalers.cxx:46
 AliTriggerScalers.cxx:47
 AliTriggerScalers.cxx:48
 AliTriggerScalers.cxx:49
 AliTriggerScalers.cxx:50
 AliTriggerScalers.cxx:51
 AliTriggerScalers.cxx:52
 AliTriggerScalers.cxx:53
 AliTriggerScalers.cxx:54
 AliTriggerScalers.cxx:55
 AliTriggerScalers.cxx:56
 AliTriggerScalers.cxx:57
 AliTriggerScalers.cxx:58
 AliTriggerScalers.cxx:59
 AliTriggerScalers.cxx:60
 AliTriggerScalers.cxx:61
 AliTriggerScalers.cxx:62
 AliTriggerScalers.cxx:63
 AliTriggerScalers.cxx:64
 AliTriggerScalers.cxx:65
 AliTriggerScalers.cxx:66
 AliTriggerScalers.cxx:67
 AliTriggerScalers.cxx:68
 AliTriggerScalers.cxx:69
 AliTriggerScalers.cxx:70
 AliTriggerScalers.cxx:71
 AliTriggerScalers.cxx:72
 AliTriggerScalers.cxx:73
 AliTriggerScalers.cxx:74
 AliTriggerScalers.cxx:75
 AliTriggerScalers.cxx:76
 AliTriggerScalers.cxx:77
 AliTriggerScalers.cxx:78
 AliTriggerScalers.cxx:79
 AliTriggerScalers.cxx:80
 AliTriggerScalers.cxx:81
 AliTriggerScalers.cxx:82
 AliTriggerScalers.cxx:83
 AliTriggerScalers.cxx:84
 AliTriggerScalers.cxx:85
 AliTriggerScalers.cxx:86
 AliTriggerScalers.cxx:87
 AliTriggerScalers.cxx:88
 AliTriggerScalers.cxx:89
 AliTriggerScalers.cxx:90
 AliTriggerScalers.cxx:91
 AliTriggerScalers.cxx:92
 AliTriggerScalers.cxx:93
 AliTriggerScalers.cxx:94
 AliTriggerScalers.cxx:95
 AliTriggerScalers.cxx:96
 AliTriggerScalers.cxx:97