#include "AliTOFTriggerMask.h"
Int_t AliTOFTriggerMask::fPowerMask[24];
ClassImp(AliTOFTriggerMask)
AliTOFTriggerMask::AliTOFTriggerMask() :
TObject(),
fTriggerMask()
{
for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = 0;
fPowerMask[0] = 1;
for(Int_t i=1;i <= 23;i++){
fPowerMask[i] = fPowerMask[i-1]*2;
}
}
AliTOFTriggerMask::~AliTOFTriggerMask()
{
}
AliTOFTriggerMask::AliTOFTriggerMask(const AliTOFTriggerMask &source) :
TObject(source),
fTriggerMask()
{
for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = source.fTriggerMask[iddl];
}
AliTOFTriggerMask &
AliTOFTriggerMask::operator=(const AliTOFTriggerMask &source)
{
if (this == &source) return *this;
TObject::operator=(source);
for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = source.fTriggerMask[iddl];
return *this;
}
void
AliTOFTriggerMask::SetTriggerMaskArray(UInt_t *array)
{
for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = array[iddl];
}
Int_t AliTOFTriggerMask::GetNumberMaxiPadOn() {
Int_t n=0;
for(Int_t j=0;j<72;j++)
for(Int_t i=22;i>=0;i--)
n += (fTriggerMask[j]%fPowerMask[i+1])/fPowerMask[i];
return n;
};
void AliTOFTriggerMask::SetON(Int_t icrate,Int_t ich){
if(ich < 24 && icrate < 72) fTriggerMask[icrate] += fPowerMask[ich];
}
Bool_t AliTOFTriggerMask::IsON(Int_t icrate,Int_t ich){
if(ich < 24 && icrate < 72) return (fTriggerMask[icrate] & fPowerMask[ich]);
else return kFALSE;
}
TH2F *AliTOFTriggerMask::GetHistoMask() {
TH2F *h = new TH2F("hTOFTriggerMask","TOF trigger mask;crate;MaxiPad",72,0,72,23,0,23);
for(Int_t j=0;j<72;j++)
for(Int_t i=22;i>=0;i--)
h->SetBinContent(j+1,i+1,(fTriggerMask[j]%fPowerMask[i+1])/fPowerMask[i]);
return h;
};
void AliTOFTriggerMask::ResetMask() {
for (Int_t iddl = 0; iddl < 72; iddl++) fTriggerMask[iddl] = 0;
}
AliTOFTriggerMask.cxx:100 AliTOFTriggerMask.cxx:101 AliTOFTriggerMask.cxx:102 AliTOFTriggerMask.cxx:103 AliTOFTriggerMask.cxx:104 AliTOFTriggerMask.cxx:105 AliTOFTriggerMask.cxx:106 AliTOFTriggerMask.cxx:107 AliTOFTriggerMask.cxx:108 AliTOFTriggerMask.cxx:109 AliTOFTriggerMask.cxx:110 AliTOFTriggerMask.cxx:111 AliTOFTriggerMask.cxx:112 AliTOFTriggerMask.cxx:113 AliTOFTriggerMask.cxx:114 AliTOFTriggerMask.cxx:115 AliTOFTriggerMask.cxx:116 AliTOFTriggerMask.cxx:117 AliTOFTriggerMask.cxx:118 AliTOFTriggerMask.cxx:119 AliTOFTriggerMask.cxx:120 AliTOFTriggerMask.cxx:121 AliTOFTriggerMask.cxx:122 AliTOFTriggerMask.cxx:123 AliTOFTriggerMask.cxx:124 AliTOFTriggerMask.cxx:125 AliTOFTriggerMask.cxx:126 AliTOFTriggerMask.cxx:127 AliTOFTriggerMask.cxx:128 AliTOFTriggerMask.cxx:129 AliTOFTriggerMask.cxx:130 AliTOFTriggerMask.cxx:131 AliTOFTriggerMask.cxx:132