ROOT logo
//_HADES_CLASS_DESCRIPTION
/////////////////////////////////////////////////////////
//
// HShowerHitFPar 
// It contains parameters for hit finding process
//
/////////////////////////////////////////////////////////

#include "hshowerhitfpar.h"
#include "hparamlist.h"

ClassImp(HShowerHitFPar)

HShowerHitFPar::HShowerHitFPar(const Char_t* name,const Char_t* title,
                               const Char_t* context)
               : HParCond(name,title,context) {

  nSectors = 6;
  nModules = 3;
  defaultInit();
}

void HShowerHitFPar::defaultInit() {
  nThreshold = 0;
  pColBorder.Set(nSectors * nModules * 2);
  pRowBorder.Set(nSectors * nModules * 2);
  Int_t nLower = 0;
  Int_t nUpper = 31;
  for(Int_t i = 0; i < nSectors; i++) {
    for(Int_t j = 0; j < nModules; j++) {
       setColBord(i, j, nLower, nUpper);
       setRowBord(i, j, nLower, nUpper);
    }
  }
  fGainPost1 = 1.9;
  fThresholdPost1 = 0.0;
  fGainPost2 = 1.9;
  fThresholdPost2 = 0.0;
}

void HShowerHitFPar::clear() {
  nThreshold=0;
  fGainPost1=0.F;
  fThresholdPost1=0.F;
  fGainPost2=0.F;
  fThresholdPost2=0.F;
  pRowBorder.Reset();
  pColBorder.Reset();
}

void HShowerHitFPar::putParams(HParamList* l) {
  if (!l) return;
  l->add("pRowBorder",     pRowBorder);
  l->add("pColBorder",     pColBorder);
  l->add("nThreshold",     nThreshold);
  l->add("fGainPost1",     fGainPost1);
  l->add("fThresholdPost1",fThresholdPost1);
  l->add("fGainPost2",     fGainPost2);
  l->add("fThresholdPost2",fThresholdPost2);
}

Bool_t HShowerHitFPar::getParams(HParamList* l) {
  if (!l) return kFALSE;
  if (!l->fill("pRowBorder",     &pRowBorder))      return kFALSE;
  if (!l->fill("pColBorder",     &pColBorder))      return kFALSE;
  if (!l->fill("nThreshold",     &nThreshold))      return kFALSE;
  if (!l->fill("fGainPost1",     &fGainPost1))      return kFALSE;
  if (!l->fill("fThresholdPost1",&fThresholdPost1)) return kFALSE;
  if (!l->fill("fGainPost2",     &fGainPost2))      return kFALSE;
  if (!l->fill("fThresholdPost2",&fThresholdPost2)) return kFALSE;
#if DEBUG_LEVEL > 0
  printParams();
#endif
  return kTRUE;
}

Int_t HShowerHitFPar::getIndex(Int_t nSect, Int_t nMod) {
  if ((nSect<0) || (nSect>=nSectors) || (nMod<0) || (nMod>=nModules)) return -1;
  return (nSect * nMod) * 2;
}

Int_t HShowerHitFPar::setColBord(Int_t nSect, Int_t nMod, 
                                 Int_t nLowerCol, Int_t nUpperCol) {
  Int_t nIdx = getIndex(nSect, nMod);
  if (nIdx>=0) {
    pColBorder[nIdx] = nLowerCol;
    pColBorder[nIdx + 1] =  nUpperCol;
    return 1;
  } else return 0;
}

Int_t HShowerHitFPar::setRowBord(Int_t nSect, Int_t nMod,
                                 Int_t nLowerRow, Int_t nUpperRow) {
  Int_t nIdx = getIndex(nSect, nMod);
  if (nIdx>=0) {
    pRowBorder[nIdx] = nLowerRow;
    pRowBorder[nIdx + 1] = nUpperRow;
    return 1;
  } else return 0;
}

Int_t HShowerHitFPar::getColBord(Int_t nSect, Int_t nMod, 
                                 Int_t* nLowerCol, Int_t* nUpperCol) {
  Int_t nIdx = getIndex(nSect, nMod);
  if (nIdx>=0) {
    *nLowerCol = pColBorder[nIdx];
    *nUpperCol = pColBorder[nIdx + 1];
    return 1;
  } else return 0;
}

Int_t HShowerHitFPar::getRowBord(Int_t nSect, Int_t nMod,
                             Int_t* nLowerRow, Int_t* nUpperRow) {
  Int_t nIdx = getIndex(nSect, nMod);
  if (nIdx>=0) {
    *nLowerRow = pRowBorder[nIdx];
    *nUpperRow = pRowBorder[nIdx + 1];
    return 1;
  } else return 0;
}
 hshowerhitfpar.cc:1
 hshowerhitfpar.cc:2
 hshowerhitfpar.cc:3
 hshowerhitfpar.cc:4
 hshowerhitfpar.cc:5
 hshowerhitfpar.cc:6
 hshowerhitfpar.cc:7
 hshowerhitfpar.cc:8
 hshowerhitfpar.cc:9
 hshowerhitfpar.cc:10
 hshowerhitfpar.cc:11
 hshowerhitfpar.cc:12
 hshowerhitfpar.cc:13
 hshowerhitfpar.cc:14
 hshowerhitfpar.cc:15
 hshowerhitfpar.cc:16
 hshowerhitfpar.cc:17
 hshowerhitfpar.cc:18
 hshowerhitfpar.cc:19
 hshowerhitfpar.cc:20
 hshowerhitfpar.cc:21
 hshowerhitfpar.cc:22
 hshowerhitfpar.cc:23
 hshowerhitfpar.cc:24
 hshowerhitfpar.cc:25
 hshowerhitfpar.cc:26
 hshowerhitfpar.cc:27
 hshowerhitfpar.cc:28
 hshowerhitfpar.cc:29
 hshowerhitfpar.cc:30
 hshowerhitfpar.cc:31
 hshowerhitfpar.cc:32
 hshowerhitfpar.cc:33
 hshowerhitfpar.cc:34
 hshowerhitfpar.cc:35
 hshowerhitfpar.cc:36
 hshowerhitfpar.cc:37
 hshowerhitfpar.cc:38
 hshowerhitfpar.cc:39
 hshowerhitfpar.cc:40
 hshowerhitfpar.cc:41
 hshowerhitfpar.cc:42
 hshowerhitfpar.cc:43
 hshowerhitfpar.cc:44
 hshowerhitfpar.cc:45
 hshowerhitfpar.cc:46
 hshowerhitfpar.cc:47
 hshowerhitfpar.cc:48
 hshowerhitfpar.cc:49
 hshowerhitfpar.cc:50
 hshowerhitfpar.cc:51
 hshowerhitfpar.cc:52
 hshowerhitfpar.cc:53
 hshowerhitfpar.cc:54
 hshowerhitfpar.cc:55
 hshowerhitfpar.cc:56
 hshowerhitfpar.cc:57
 hshowerhitfpar.cc:58
 hshowerhitfpar.cc:59
 hshowerhitfpar.cc:60
 hshowerhitfpar.cc:61
 hshowerhitfpar.cc:62
 hshowerhitfpar.cc:63
 hshowerhitfpar.cc:64
 hshowerhitfpar.cc:65
 hshowerhitfpar.cc:66
 hshowerhitfpar.cc:67
 hshowerhitfpar.cc:68
 hshowerhitfpar.cc:69
 hshowerhitfpar.cc:70
 hshowerhitfpar.cc:71
 hshowerhitfpar.cc:72
 hshowerhitfpar.cc:73
 hshowerhitfpar.cc:74
 hshowerhitfpar.cc:75
 hshowerhitfpar.cc:76
 hshowerhitfpar.cc:77
 hshowerhitfpar.cc:78
 hshowerhitfpar.cc:79
 hshowerhitfpar.cc:80
 hshowerhitfpar.cc:81
 hshowerhitfpar.cc:82
 hshowerhitfpar.cc:83
 hshowerhitfpar.cc:84
 hshowerhitfpar.cc:85
 hshowerhitfpar.cc:86
 hshowerhitfpar.cc:87
 hshowerhitfpar.cc:88
 hshowerhitfpar.cc:89
 hshowerhitfpar.cc:90
 hshowerhitfpar.cc:91
 hshowerhitfpar.cc:92
 hshowerhitfpar.cc:93
 hshowerhitfpar.cc:94
 hshowerhitfpar.cc:95
 hshowerhitfpar.cc:96
 hshowerhitfpar.cc:97
 hshowerhitfpar.cc:98
 hshowerhitfpar.cc:99
 hshowerhitfpar.cc:100
 hshowerhitfpar.cc:101
 hshowerhitfpar.cc:102
 hshowerhitfpar.cc:103
 hshowerhitfpar.cc:104
 hshowerhitfpar.cc:105
 hshowerhitfpar.cc:106
 hshowerhitfpar.cc:107
 hshowerhitfpar.cc:108
 hshowerhitfpar.cc:109
 hshowerhitfpar.cc:110
 hshowerhitfpar.cc:111
 hshowerhitfpar.cc:112
 hshowerhitfpar.cc:113
 hshowerhitfpar.cc:114
 hshowerhitfpar.cc:115
 hshowerhitfpar.cc:116
 hshowerhitfpar.cc:117
 hshowerhitfpar.cc:118
 hshowerhitfpar.cc:119
 hshowerhitfpar.cc:120