LCOV - code coverage report
Current view: top level - STEER/STEERBase - AliTOFTriggerMask.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 27 40 67.5 %
Date: 2016-06-14 17:26:59 Functions: 11 15 73.3 %

          Line data    Source code
       1             : /**************************************************************************
       2             :  * Copyright(c) 1998-1999, 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             : // *
      18             : // *
      19             : // * this class defines the TOF object to be stored
      20             : // * in OCDB on a run-by-run basis in order to have the status
      21             : // * of TOF trigger inputs. it stores 32 bit masks for each crate
      22             : // * 
      23             : // *
      24             : // *
      25             : // *
      26             : 
      27             : #include "AliTOFTriggerMask.h"
      28             : 
      29             : Int_t AliTOFTriggerMask::fPowerMask[24];
      30             : 
      31         176 : ClassImp(AliTOFTriggerMask)
      32             : //_________________________________________________________
      33             : 
      34             : AliTOFTriggerMask::AliTOFTriggerMask() :
      35          89 :   TObject(),
      36          89 :   fTriggerMask()
      37         445 : {
      38             :   /*
      39             :    * default constructor
      40             :    */
      41             : 
      42       12994 :   for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = 0;
      43             : 
      44          89 :   fPowerMask[0] = 1;
      45        4272 :   for(Int_t i=1;i <= 23;i++){
      46        2047 :       fPowerMask[i] = fPowerMask[i-1]*2;
      47             :   }
      48             : 
      49         178 : }
      50             : 
      51             : //_________________________________________________________
      52             : 
      53             : AliTOFTriggerMask::~AliTOFTriggerMask()
      54         292 : {
      55             :   /*
      56             :    * default destructor
      57             :    */
      58             : 
      59         292 : }
      60             : 
      61             : //_________________________________________________________
      62             : 
      63             : AliTOFTriggerMask::AliTOFTriggerMask(const AliTOFTriggerMask &source) :
      64           0 :   TObject(source),
      65           0 :   fTriggerMask()
      66           0 : {
      67             :   /*
      68             :    * copy constructor
      69             :    */
      70             : 
      71           0 :   for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = source.fTriggerMask[iddl];
      72           0 : }
      73             : 
      74             : //_________________________________________________________
      75             : 
      76             : AliTOFTriggerMask &
      77             : AliTOFTriggerMask::operator=(const AliTOFTriggerMask &source)
      78             : {
      79             :   /*
      80             :    * operator=
      81             :    */
      82             : 
      83          48 :   if (this == &source) return *this;
      84          24 :   TObject::operator=(source);
      85             :   
      86        3504 :   for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = source.fTriggerMask[iddl];
      87             : 
      88          24 :   return *this;
      89          24 : }
      90             : 
      91             : //_________________________________________________________
      92             : 
      93             : void
      94             : AliTOFTriggerMask::SetTriggerMaskArray(UInt_t *array)
      95             : {
      96             :   /*
      97             :    * set trigger mask array
      98             :    */
      99             : 
     100           0 :   for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = array[iddl];
     101           0 : }
     102             : //_________________________________________________________
     103             : 
     104             : Int_t AliTOFTriggerMask::GetNumberMaxiPadOn() {
     105             :   Int_t n=0;
     106        1176 :   for(Int_t j=0;j<72;j++) 
     107       27648 :     for(Int_t i=22;i>=0;i--) 
     108       13248 :       n += (fTriggerMask[j]%fPowerMask[i+1])/fPowerMask[i];
     109           8 :   return n;
     110             : };
     111             : //_________________________________________________________
     112             : void AliTOFTriggerMask::SetON(Int_t icrate,Int_t ich){
     113         288 :   if(ich < 24 && icrate < 72) fTriggerMask[icrate] += fPowerMask[ich];
     114          96 : }
     115             : //_________________________________________________________
     116             : Bool_t AliTOFTriggerMask::IsON(Int_t icrate,Int_t ich){
     117         241 :   if(ich < 24 && icrate < 72) return (fTriggerMask[icrate] & fPowerMask[ich]);
     118          59 :   else return kFALSE;
     119         100 : }
     120             : //_________________________________________________________
     121             : 
     122             : TH2F *AliTOFTriggerMask::GetHistoMask() {
     123           0 :   TH2F *h = new TH2F("hTOFTriggerMask","TOF trigger mask;crate;MaxiPad",72,0,72,23,0,23);
     124           0 :   for(Int_t j=0;j<72;j++) 
     125           0 :     for(Int_t i=22;i>=0;i--) 
     126           0 :       h->SetBinContent(j+1,i+1,(fTriggerMask[j]%fPowerMask[i+1])/fPowerMask[i]);
     127           0 :   return h;
     128           0 : };
     129             : //_________________________________________________________
     130             : void AliTOFTriggerMask::ResetMask() {
     131        1764 :   for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = 0;
     132          12 : }

Generated by: LCOV version 1.11