#include "hrpcchargeoffsetpar.h"
#include "hparamlist.h"
#include "hpario.h"
#include "hdetpario.h"
#include "hades.h"
#include "hdatasource.h"
#include "hrun.h"
#include "hruntimedb.h"
ClassImp(HRpcChargeOffsetPar)
HRpcChargeOffsetPar::HRpcChargeOffsetPar(const Char_t* name,const Char_t* title,
const Char_t* context)
: HParCond(name,title,context)
{
fChargeCorrPar = TArrayF(64*6);
fRunIDs = TArrayI(2);
fCurrent = 0;
fNRuns = 1;
clear();
}
HRpcChargeOffsetPar::~HRpcChargeOffsetPar()
{
}
void HRpcChargeOffsetPar::clear()
{
fChargeCorrPar.Reset(0.);
fRunIDs.Reset(-1);
fNRuns = 1;
fCurrent = 0;
status = kFALSE;
resetInputVersions();
changed = kFALSE;
}
void HRpcChargeOffsetPar::addNewSet(Float_t* pars, Int_t startRunID)
{
fChargeCorrPar.Set((fNRuns+1)*6*64);
fRunIDs.Set((fNRuns+1));
for(Int_t i = 0; i < 64*6 ; i++) fChargeCorrPar.AddAt(pars[i], fNRuns*64*6+i);
fRunIDs.AddAt(startRunID,fNRuns);
fNRuns++;
fCurrent++;
}
void HRpcChargeOffsetPar::addFirstSet(Float_t* pars, Int_t startRunID)
{
for(Int_t i = 0; i < 64*6 ; i++) fChargeCorrPar.AddAt(pars[i], i);
fRunIDs.AddAt(startRunID,0);
fCurrent++;
}
void HRpcChargeOffsetPar::addLastRunId(Int_t runId)
{
fRunIDs.Set(fNRuns+1);
fRunIDs.AddAt(runId,fNRuns);
}
void HRpcChargeOffsetPar::addLastSet(Float_t* pars, Int_t startRunID, Int_t endRunID)
{
fChargeCorrPar.Set((fNRuns+1)*6*64);
fRunIDs.Set((fNRuns+2));
for(Int_t i = 0; i < 64*6 ; i++) fChargeCorrPar.AddAt(pars[i], fNRuns*64*6+i);
fRunIDs.AddAt(startRunID,fNRuns);
fRunIDs.AddAt(endRunID,fNRuns+1);
fNRuns++;
fCurrent++;
}
void HRpcChargeOffsetPar::putParams(HParamList* l)
{
if (!l) return;
l->add("fNRuns", fNRuns);
l->add("fRunIDs", fRunIDs);
l->add("fChargeCorrPar", fChargeCorrPar);
}
Bool_t HRpcChargeOffsetPar::getParams(HParamList* l)
{
if (!l) return kFALSE;
if(!( l->fill("fNRuns", &fNRuns))) return kFALSE;
if(!( l->fill("fRunIDs", &fRunIDs))) return kFALSE;
if(!( l->fill("fChargeCorrPar", &fChargeCorrPar))) return kFALSE;
return kTRUE;
}
Bool_t HRpcChargeOffsetPar::init(HParIo* inp,Int_t* set) {
Bool_t rc=kFALSE;
HDetParIo* input = inp->getDetParIo("HCondParIo");
if (input) rc = input->init(this,set);
HRun* run = gHades->getRuntimeDb()->getCurrentRun();
Int_t runId = run->getRunId();
if(runId >= this->getFirstRunID() && runId <= this->getLastRunID() ) {
fCurrent = this->getSlot(runId);
return rc;
} else if (runId < this->getFirstRunID()) {
fCurrent = fNRuns-1;
rc = kTRUE;
return rc;
}
return rc;
}
Int_t HRpcChargeOffsetPar::getSlot(Int_t runId)
{
Int_t slot = -1;
for(Int_t i=0; i<fNRuns; i++) {
if( fRunIDs[i] <= runId && fRunIDs[i+1] > runId ) {slot = i; break;}
}
return slot;
}
hrpcchargeoffsetpar.cc:10 hrpcchargeoffsetpar.cc:11 hrpcchargeoffsetpar.cc:12 hrpcchargeoffsetpar.cc:13 hrpcchargeoffsetpar.cc:14 hrpcchargeoffsetpar.cc:15 hrpcchargeoffsetpar.cc:16 hrpcchargeoffsetpar.cc:17 hrpcchargeoffsetpar.cc:18 hrpcchargeoffsetpar.cc:19 hrpcchargeoffsetpar.cc:20 hrpcchargeoffsetpar.cc:21 hrpcchargeoffsetpar.cc:22 hrpcchargeoffsetpar.cc:23 hrpcchargeoffsetpar.cc:24 hrpcchargeoffsetpar.cc:25 hrpcchargeoffsetpar.cc:26 hrpcchargeoffsetpar.cc:27 hrpcchargeoffsetpar.cc:28 hrpcchargeoffsetpar.cc:29 hrpcchargeoffsetpar.cc:30 hrpcchargeoffsetpar.cc:31 hrpcchargeoffsetpar.cc:32 hrpcchargeoffsetpar.cc:33 hrpcchargeoffsetpar.cc:34 hrpcchargeoffsetpar.cc:35 hrpcchargeoffsetpar.cc:36 hrpcchargeoffsetpar.cc:37 hrpcchargeoffsetpar.cc:38 hrpcchargeoffsetpar.cc:39 hrpcchargeoffsetpar.cc:40 hrpcchargeoffsetpar.cc:41 hrpcchargeoffsetpar.cc:42 hrpcchargeoffsetpar.cc:43 hrpcchargeoffsetpar.cc:44 hrpcchargeoffsetpar.cc:45 hrpcchargeoffsetpar.cc:46 hrpcchargeoffsetpar.cc:47 hrpcchargeoffsetpar.cc:48 hrpcchargeoffsetpar.cc:49 hrpcchargeoffsetpar.cc:50 hrpcchargeoffsetpar.cc:51 hrpcchargeoffsetpar.cc:52 hrpcchargeoffsetpar.cc:53 hrpcchargeoffsetpar.cc:54 hrpcchargeoffsetpar.cc:55 hrpcchargeoffsetpar.cc:56 hrpcchargeoffsetpar.cc:57 hrpcchargeoffsetpar.cc:58 hrpcchargeoffsetpar.cc:59 hrpcchargeoffsetpar.cc:60 hrpcchargeoffsetpar.cc:61 hrpcchargeoffsetpar.cc:62 hrpcchargeoffsetpar.cc:63 hrpcchargeoffsetpar.cc:64 hrpcchargeoffsetpar.cc:65 hrpcchargeoffsetpar.cc:66 hrpcchargeoffsetpar.cc:67 hrpcchargeoffsetpar.cc:68 hrpcchargeoffsetpar.cc:69 hrpcchargeoffsetpar.cc:70 hrpcchargeoffsetpar.cc:71 hrpcchargeoffsetpar.cc:72 hrpcchargeoffsetpar.cc:73 hrpcchargeoffsetpar.cc:74 hrpcchargeoffsetpar.cc:75 hrpcchargeoffsetpar.cc:76 hrpcchargeoffsetpar.cc:77 hrpcchargeoffsetpar.cc:78 hrpcchargeoffsetpar.cc:79 hrpcchargeoffsetpar.cc:80 hrpcchargeoffsetpar.cc:81 hrpcchargeoffsetpar.cc:82 hrpcchargeoffsetpar.cc:83 hrpcchargeoffsetpar.cc:84 hrpcchargeoffsetpar.cc:85 hrpcchargeoffsetpar.cc:86 hrpcchargeoffsetpar.cc:87 hrpcchargeoffsetpar.cc:88 hrpcchargeoffsetpar.cc:89 hrpcchargeoffsetpar.cc:90 hrpcchargeoffsetpar.cc:91 hrpcchargeoffsetpar.cc:92 hrpcchargeoffsetpar.cc:93 hrpcchargeoffsetpar.cc:94 hrpcchargeoffsetpar.cc:95 hrpcchargeoffsetpar.cc:96 hrpcchargeoffsetpar.cc:97 hrpcchargeoffsetpar.cc:98 hrpcchargeoffsetpar.cc:99 hrpcchargeoffsetpar.cc:100 hrpcchargeoffsetpar.cc:101 hrpcchargeoffsetpar.cc:102 hrpcchargeoffsetpar.cc:103 hrpcchargeoffsetpar.cc:104 hrpcchargeoffsetpar.cc:105 hrpcchargeoffsetpar.cc:106 hrpcchargeoffsetpar.cc:107 hrpcchargeoffsetpar.cc:108 hrpcchargeoffsetpar.cc:109 hrpcchargeoffsetpar.cc:110 hrpcchargeoffsetpar.cc:111 hrpcchargeoffsetpar.cc:112 hrpcchargeoffsetpar.cc:113 hrpcchargeoffsetpar.cc:114 hrpcchargeoffsetpar.cc:115 hrpcchargeoffsetpar.cc:116 hrpcchargeoffsetpar.cc:117 hrpcchargeoffsetpar.cc:118 hrpcchargeoffsetpar.cc:119 hrpcchargeoffsetpar.cc:120 hrpcchargeoffsetpar.cc:121 hrpcchargeoffsetpar.cc:122 hrpcchargeoffsetpar.cc:123 hrpcchargeoffsetpar.cc:124 hrpcchargeoffsetpar.cc:125 hrpcchargeoffsetpar.cc:126 hrpcchargeoffsetpar.cc:127 hrpcchargeoffsetpar.cc:128 hrpcchargeoffsetpar.cc:129 hrpcchargeoffsetpar.cc:130 hrpcchargeoffsetpar.cc:131 hrpcchargeoffsetpar.cc:132 hrpcchargeoffsetpar.cc:133 hrpcchargeoffsetpar.cc:134 hrpcchargeoffsetpar.cc:135 hrpcchargeoffsetpar.cc:136 hrpcchargeoffsetpar.cc:137 hrpcchargeoffsetpar.cc:138 hrpcchargeoffsetpar.cc:139 hrpcchargeoffsetpar.cc:140 hrpcchargeoffsetpar.cc:141 hrpcchargeoffsetpar.cc:142 hrpcchargeoffsetpar.cc:143 hrpcchargeoffsetpar.cc:144 hrpcchargeoffsetpar.cc:145 hrpcchargeoffsetpar.cc:146 hrpcchargeoffsetpar.cc:147 hrpcchargeoffsetpar.cc:148 hrpcchargeoffsetpar.cc:149 hrpcchargeoffsetpar.cc:150 hrpcchargeoffsetpar.cc:151 hrpcchargeoffsetpar.cc:152 hrpcchargeoffsetpar.cc:153 hrpcchargeoffsetpar.cc:154 hrpcchargeoffsetpar.cc:155 hrpcchargeoffsetpar.cc:156 hrpcchargeoffsetpar.cc:157 hrpcchargeoffsetpar.cc:158 hrpcchargeoffsetpar.cc:159 hrpcchargeoffsetpar.cc:160 hrpcchargeoffsetpar.cc:161 hrpcchargeoffsetpar.cc:162 hrpcchargeoffsetpar.cc:163 hrpcchargeoffsetpar.cc:164 hrpcchargeoffsetpar.cc:165 hrpcchargeoffsetpar.cc:166 hrpcchargeoffsetpar.cc:167 hrpcchargeoffsetpar.cc:168 hrpcchargeoffsetpar.cc:169 hrpcchargeoffsetpar.cc:170 hrpcchargeoffsetpar.cc:171 hrpcchargeoffsetpar.cc:172 hrpcchargeoffsetpar.cc:173 hrpcchargeoffsetpar.cc:174 hrpcchargeoffsetpar.cc:175 hrpcchargeoffsetpar.cc:176 hrpcchargeoffsetpar.cc:177 hrpcchargeoffsetpar.cc:178 hrpcchargeoffsetpar.cc:179 hrpcchargeoffsetpar.cc:180 hrpcchargeoffsetpar.cc:181 hrpcchargeoffsetpar.cc:182 hrpcchargeoffsetpar.cc:183 hrpcchargeoffsetpar.cc:184 hrpcchargeoffsetpar.cc:185 hrpcchargeoffsetpar.cc:186 hrpcchargeoffsetpar.cc:187 hrpcchargeoffsetpar.cc:188