LCOV - code coverage report
Current view: top level - STEER/ESD - AliTriggerScalersRecordESD.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 21 44 47.7 %
Date: 2016-06-14 17:26:59 Functions: 6 11 54.5 %

          Line data    Source code
       1             : /*************************************************************************
       2             : * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
       3             : *                                                                        *
       4             : * Author: The ALICE Off-line Project.                                    *
       5             : * Contributors are mentioned in the code where appropriate.              *
       6             : *                                                                        *
       7             : * Permission to use, copy, modify and distribute this software and its   *
       8             : * documentation strictly for non-commercial purposes is hereby granted   *
       9             : * without fee, provided that the above copyright notice appears in all   *
      10             : * copies and that both the copyright notice and this permission notice   *
      11             : * appear in the supporting documentation. The authors make no claims     *
      12             : * about the suitability of this software for any purpose. It is          *
      13             : * provided "as is" without express or implied warranty.                  * 
      14             : **************************************************************************/
      15             : 
      16             : 
      17             : #include <Riostream.h>
      18             : #include <TObjArray.h>
      19             : #include <AliTimeStamp.h>
      20             : #include "AliLog.h"  
      21             : #include "AliTriggerScalersESD.h"
      22             : #include "AliTriggerScalersRecordESD.h"
      23             : 
      24             : using std::endl;
      25             : using std::cout;
      26         172 : ClassImp( AliTriggerScalersRecordESD )
      27             : //_____________________________________________________________________________
      28             : AliTriggerScalersRecordESD::AliTriggerScalersRecordESD():
      29          68 : TObject(),
      30          68 : fTimestamp(),
      31          68 : fScalers(),
      32          68 : fTimeGroup(0)
      33         340 : {
      34         136 : }
      35             : 
      36             : //_____________________________________________________________________________
      37             : void AliTriggerScalersRecordESD::AddTriggerScalers( AliTriggerScalersESD* scaler ) 
      38             : { 
      39           4 :   fScalers.AddLast( scaler ); 
      40           2 : }
      41             : 
      42             : //_____________________________________________________________________________
      43             : void AliTriggerScalersRecordESD::AddTriggerScalers( UChar_t classIndex, ULong64_t LOCB, ULong64_t LOCA,        
      44             :                                          ULong64_t L1CB, ULong64_t L1CA, ULong64_t L2CB, ULong64_t L2CA )
      45             : {
      46           0 :     AddTriggerScalers( new AliTriggerScalersESD( classIndex, LOCB, LOCA, L1CB, L1CA, L2CB, L2CA ) );
      47           0 : } 
      48             : 
      49             : //_____________________________________________________________________________
      50             : AliTriggerScalersRecordESD::AliTriggerScalersRecordESD( const AliTriggerScalersRecordESD &rec ) :
      51           0 : TObject(rec),
      52           0 : fTimestamp(rec.fTimestamp),
      53           0 : fScalers(),
      54           0 : fTimeGroup(rec.fTimeGroup)
      55           0 : {
      56             : //copy constructor
      57           0 : for (Int_t i = 0; i < rec.fScalers.GetEntriesFast(); i++) {
      58           0 :     if (rec.fScalers[i]) fScalers.Add(rec.fScalers[i]->Clone());
      59             :   }
      60           0 : }
      61             : //_____________________________________________________________________________
      62             : AliTriggerScalersRecordESD& AliTriggerScalersRecordESD:: operator=(const AliTriggerScalersRecordESD& rec)
      63             : {
      64             : //asignment operator
      65          12 : if(&rec == this) return *this;
      66           6 : ((TObject *)this)->operator=(rec);
      67           6 : fTimestamp=rec.fTimestamp;
      68           6 : fScalers.Delete();
      69          12 : for (Int_t i = 0; i < rec.fScalers.GetEntriesFast(); i++) {
      70           0 :     if (rec.fScalers[i]) fScalers.Add(rec.fScalers[i]->Clone());
      71             :   }
      72           6 : fTimeGroup=rec.fTimeGroup;
      73           6 : return *this;
      74           6 : } 
      75             : 
      76             : //_____________________________________________________________________________
      77             : void AliTriggerScalersRecordESD::Reset()
      78             : {
      79         198 : fScalers.SetOwner();
      80          99 : fScalers.Clear();
      81          99 : fTimeGroup=0;
      82          99 : } 
      83             : 
      84             : //_____________________________________________________________________________
      85             : const AliTriggerScalersESD* AliTriggerScalersRecordESD::GetTriggerScalersForClass( const Int_t classindex ) const
      86             : {
      87             :    // Find Trigger scaler with class ID = classmask using a binary search. 
      88             : 
      89             :    Int_t   base, last;
      90             :    AliTriggerScalersESD *op2 = NULL;
      91             :    
      92             :    base = 0;
      93           0 :    last = fScalers.GetEntriesFast();
      94             : 
      95           0 :    while (base < last) {
      96           0 :       op2 = (AliTriggerScalersESD *)fScalers.At(base);
      97           0 :       if( op2->GetClassIndex()  == classindex ) return op2;
      98           0 :       base++;
      99             :    }
     100           0 :    return op2;   
     101           0 : }
     102             :                                       
     103             : //_____________________________________________________________________________
     104             : void AliTriggerScalersRecordESD::Print( const Option_t* ) const
     105             : {
     106             :    // Print
     107           0 :   cout << "Trigger Scalers Record, time group: "<< fTimeGroup << endl;
     108           0 :   fTimestamp.Print();
     109           0 :   for( Int_t i=0; i<fScalers.GetEntriesFast(); ++i ) 
     110           0 :      ((AliTriggerScalersESD*)fScalers.At(i))->Print();
     111           0 : }

Generated by: LCOV version 1.11