ROOT logo
/**************************************************************************
 * Copyright(c) 2008-2010, 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$ */

////////////////////////////////////////////////////////////////
// Author: A. Mastroserio                                     // 
// This class is used within the detector algorithm framework //
// to collect information on how the scan was arranged.       //
////////////////////////////////////////////////////////////////

#include "AliITSOnlineSPDfoInfo.h"
#include "AliLog.h"

ClassImp(AliITSOnlineSPDfoInfo)
  
//_____________________________________________________________________
AliITSOnlineSPDfoInfo::AliITSOnlineSPDfoInfo(): 
 fRunNumber(0), fRouter(999), fNumTriggers(0),
 fDBversion(0), fNumDACindex(0), fDACindex(0),
 fActiveChipsAndHS()
{
for(Int_t i=0; i<60; i++) fActiveChipsAndHS.SetBitNumber(i,kFALSE);
}
//_____________________________________________________________________
AliITSOnlineSPDfoInfo::~AliITSOnlineSPDfoInfo() 
{}
//_____________________________________________________________________
void AliITSOnlineSPDfoInfo::ClearThis() {
  // reset all values for this object
  fRunNumber=0;
  fRouter=999;
  fNumTriggers=0;
  fDBversion=0;
  fNumDACindex=0;
  fDACindex.Reset();
  for(Int_t i=0; i<60; i++) fActiveChipsAndHS.SetBitNumber(i,kFALSE);
}
//_____________________________________________________________________
void AliITSOnlineSPDfoInfo::AddDACindex(Short_t index) {
  // add a new DAC index, allocate space for TArrayS
  fNumDACindex++;
  fDACindex.Set(fNumDACindex);
  fDACindex.AddAt(index, fNumDACindex-1);
}
//_____________________________________________________________________
Short_t AliITSOnlineSPDfoInfo::GetDACindex(UShort_t id) const {
  // returns the DAC index at position id of TArrayS
  if (id>=fNumDACindex) return -1;
  else                  return fDACindex.At(id);
}
//_____________________________________________________________________
Bool_t AliITSOnlineSPDfoInfo::IsActiveHS(UInt_t hs) const {
  Bool_t isHS =kFALSE;
  for(Int_t iChip =0; iChip<10; iChip++) isHS = IsActiveChip(hs,iChip);
  return isHS;
}
//_____________________________________________________________________
Bool_t AliITSOnlineSPDfoInfo::IsActiveChip(UInt_t hs, UInt_t chip) const {
  if(hs > 5 || chip > 9) {
    AliError(Form("hs %i or  chip %i  is out of range [hs=0-5  chip=0=9]\n",hs,chip));
  return kFALSE;
  }
  return fActiveChipsAndHS.TestBitNumber(10*hs+chip);
}
//_____________________________________________________________________

 AliITSOnlineSPDfoInfo.cxx:1
 AliITSOnlineSPDfoInfo.cxx:2
 AliITSOnlineSPDfoInfo.cxx:3
 AliITSOnlineSPDfoInfo.cxx:4
 AliITSOnlineSPDfoInfo.cxx:5
 AliITSOnlineSPDfoInfo.cxx:6
 AliITSOnlineSPDfoInfo.cxx:7
 AliITSOnlineSPDfoInfo.cxx:8
 AliITSOnlineSPDfoInfo.cxx:9
 AliITSOnlineSPDfoInfo.cxx:10
 AliITSOnlineSPDfoInfo.cxx:11
 AliITSOnlineSPDfoInfo.cxx:12
 AliITSOnlineSPDfoInfo.cxx:13
 AliITSOnlineSPDfoInfo.cxx:14
 AliITSOnlineSPDfoInfo.cxx:15
 AliITSOnlineSPDfoInfo.cxx:16
 AliITSOnlineSPDfoInfo.cxx:17
 AliITSOnlineSPDfoInfo.cxx:18
 AliITSOnlineSPDfoInfo.cxx:19
 AliITSOnlineSPDfoInfo.cxx:20
 AliITSOnlineSPDfoInfo.cxx:21
 AliITSOnlineSPDfoInfo.cxx:22
 AliITSOnlineSPDfoInfo.cxx:23
 AliITSOnlineSPDfoInfo.cxx:24
 AliITSOnlineSPDfoInfo.cxx:25
 AliITSOnlineSPDfoInfo.cxx:26
 AliITSOnlineSPDfoInfo.cxx:27
 AliITSOnlineSPDfoInfo.cxx:28
 AliITSOnlineSPDfoInfo.cxx:29
 AliITSOnlineSPDfoInfo.cxx:30
 AliITSOnlineSPDfoInfo.cxx:31
 AliITSOnlineSPDfoInfo.cxx:32
 AliITSOnlineSPDfoInfo.cxx:33
 AliITSOnlineSPDfoInfo.cxx:34
 AliITSOnlineSPDfoInfo.cxx:35
 AliITSOnlineSPDfoInfo.cxx:36
 AliITSOnlineSPDfoInfo.cxx:37
 AliITSOnlineSPDfoInfo.cxx:38
 AliITSOnlineSPDfoInfo.cxx:39
 AliITSOnlineSPDfoInfo.cxx:40
 AliITSOnlineSPDfoInfo.cxx:41
 AliITSOnlineSPDfoInfo.cxx:42
 AliITSOnlineSPDfoInfo.cxx:43
 AliITSOnlineSPDfoInfo.cxx:44
 AliITSOnlineSPDfoInfo.cxx:45
 AliITSOnlineSPDfoInfo.cxx:46
 AliITSOnlineSPDfoInfo.cxx:47
 AliITSOnlineSPDfoInfo.cxx:48
 AliITSOnlineSPDfoInfo.cxx:49
 AliITSOnlineSPDfoInfo.cxx:50
 AliITSOnlineSPDfoInfo.cxx:51
 AliITSOnlineSPDfoInfo.cxx:52
 AliITSOnlineSPDfoInfo.cxx:53
 AliITSOnlineSPDfoInfo.cxx:54
 AliITSOnlineSPDfoInfo.cxx:55
 AliITSOnlineSPDfoInfo.cxx:56
 AliITSOnlineSPDfoInfo.cxx:57
 AliITSOnlineSPDfoInfo.cxx:58
 AliITSOnlineSPDfoInfo.cxx:59
 AliITSOnlineSPDfoInfo.cxx:60
 AliITSOnlineSPDfoInfo.cxx:61
 AliITSOnlineSPDfoInfo.cxx:62
 AliITSOnlineSPDfoInfo.cxx:63
 AliITSOnlineSPDfoInfo.cxx:64
 AliITSOnlineSPDfoInfo.cxx:65
 AliITSOnlineSPDfoInfo.cxx:66
 AliITSOnlineSPDfoInfo.cxx:67
 AliITSOnlineSPDfoInfo.cxx:68
 AliITSOnlineSPDfoInfo.cxx:69
 AliITSOnlineSPDfoInfo.cxx:70
 AliITSOnlineSPDfoInfo.cxx:71
 AliITSOnlineSPDfoInfo.cxx:72
 AliITSOnlineSPDfoInfo.cxx:73
 AliITSOnlineSPDfoInfo.cxx:74
 AliITSOnlineSPDfoInfo.cxx:75
 AliITSOnlineSPDfoInfo.cxx:76
 AliITSOnlineSPDfoInfo.cxx:77
 AliITSOnlineSPDfoInfo.cxx:78
 AliITSOnlineSPDfoInfo.cxx:79