ROOT logo
//_HADES_CLASS_DESCRIPTION
////////////////////////////////////////////////////////////////////////////
//*-- AUTHOR : I. Koenig
////////////////////////////////////////////////////////////////////////////
// HRpcCellStatusPar
//
// Container class for RPC cell status parameters
// (Condition Style)
//
// cellStatus: Lookup table for the cell status
//             0: cell is OFF (delivers no signal on one or both sides)
//             1: cell is ON  (delivers signals on both sides)
//             By default all cells are ON.
//             Used in RPC hit finder
//
////////////////////////////////////////////////////////////////////////////

#include "hrpccellstatuspar.h"
#include "hparamlist.h"

using namespace std;
#include <iostream>

ClassImp(HRpcCellStatusPar)

HRpcCellStatusPar::HRpcCellStatusPar(const Char_t* name,const Char_t* title,
                                     const Char_t* context)
                 : HParCond(name,title,context) {
  cellStatus.Set(1152);
  clear();
}

void HRpcCellStatusPar::clear() {
  // Sets all cells ON
  cellStatus.Reset(1);
  status=kFALSE;
  resetInputVersions();
  changed=kFALSE;
}

void  HRpcCellStatusPar::setCellStatus(Int_t sec, Int_t col, Int_t cell, Int_t a) {
  // Sets the cell status
  if (sec<0||sec>5||col<0||col>5||cell<0||cell>31) {
    Error("setCellStatus","Address out of bounds");
  } else {
    cellStatus[192*sec+32*col+cell]=a;
  }
}

void HRpcCellStatusPar::putParams(HParamList* l) {
  // Puts all parameters to the list used by the io;
  if (!l) return;
  l->add("cellStatus", cellStatus);
}

Bool_t HRpcCellStatusPar::getParams(HParamList* l) {
  // Retrieves from the list all parameters needed
  if (!l) return kFALSE;
  if (!(l->fill("cellStatus", &cellStatus))) return kFALSE;
  return kTRUE;
}
 
void HRpcCellStatusPar::printCellParams() {
  // Shows the status of all cells
  cout<<"---- Format: sector  column  status of cells ----"<<endl;  
  for(Int_t sec=0;sec<6;sec++) {
    for(Int_t col=0;col<6;col++) {
      cout<<sec<<" "<<col<<"   ";
      for(Int_t cell=0;cell<32;cell++) {
        cout<<" "<<getCellStatus(sec,col,cell);
      }
      cout<<endl;
    }
  }
}
 hrpccellstatuspar.cc:1
 hrpccellstatuspar.cc:2
 hrpccellstatuspar.cc:3
 hrpccellstatuspar.cc:4
 hrpccellstatuspar.cc:5
 hrpccellstatuspar.cc:6
 hrpccellstatuspar.cc:7
 hrpccellstatuspar.cc:8
 hrpccellstatuspar.cc:9
 hrpccellstatuspar.cc:10
 hrpccellstatuspar.cc:11
 hrpccellstatuspar.cc:12
 hrpccellstatuspar.cc:13
 hrpccellstatuspar.cc:14
 hrpccellstatuspar.cc:15
 hrpccellstatuspar.cc:16
 hrpccellstatuspar.cc:17
 hrpccellstatuspar.cc:18
 hrpccellstatuspar.cc:19
 hrpccellstatuspar.cc:20
 hrpccellstatuspar.cc:21
 hrpccellstatuspar.cc:22
 hrpccellstatuspar.cc:23
 hrpccellstatuspar.cc:24
 hrpccellstatuspar.cc:25
 hrpccellstatuspar.cc:26
 hrpccellstatuspar.cc:27
 hrpccellstatuspar.cc:28
 hrpccellstatuspar.cc:29
 hrpccellstatuspar.cc:30
 hrpccellstatuspar.cc:31
 hrpccellstatuspar.cc:32
 hrpccellstatuspar.cc:33
 hrpccellstatuspar.cc:34
 hrpccellstatuspar.cc:35
 hrpccellstatuspar.cc:36
 hrpccellstatuspar.cc:37
 hrpccellstatuspar.cc:38
 hrpccellstatuspar.cc:39
 hrpccellstatuspar.cc:40
 hrpccellstatuspar.cc:41
 hrpccellstatuspar.cc:42
 hrpccellstatuspar.cc:43
 hrpccellstatuspar.cc:44
 hrpccellstatuspar.cc:45
 hrpccellstatuspar.cc:46
 hrpccellstatuspar.cc:47
 hrpccellstatuspar.cc:48
 hrpccellstatuspar.cc:49
 hrpccellstatuspar.cc:50
 hrpccellstatuspar.cc:51
 hrpccellstatuspar.cc:52
 hrpccellstatuspar.cc:53
 hrpccellstatuspar.cc:54
 hrpccellstatuspar.cc:55
 hrpccellstatuspar.cc:56
 hrpccellstatuspar.cc:57
 hrpccellstatuspar.cc:58
 hrpccellstatuspar.cc:59
 hrpccellstatuspar.cc:60
 hrpccellstatuspar.cc:61
 hrpccellstatuspar.cc:62
 hrpccellstatuspar.cc:63
 hrpccellstatuspar.cc:64
 hrpccellstatuspar.cc:65
 hrpccellstatuspar.cc:66
 hrpccellstatuspar.cc:67
 hrpccellstatuspar.cc:68
 hrpccellstatuspar.cc:69
 hrpccellstatuspar.cc:70
 hrpccellstatuspar.cc:71
 hrpccellstatuspar.cc:72
 hrpccellstatuspar.cc:73
 hrpccellstatuspar.cc:74
 hrpccellstatuspar.cc:75