#include "hmdcraw.h"
#include "hades.h"
ClassImp(HMdcRaw)
const Int_t HMdcRaw::kDefaultValueTime = -999;
const Int_t HMdcRaw::kDefaultValueSector = -1;
const Int_t HMdcRaw::kDefaultValueModule = -1;
const Int_t HMdcRaw::kDefaultValueMbo = -1;
const Int_t HMdcRaw::kDefaultValueTdc = -1;
Bool_t HMdcRaw::setTime(const Int_t time,const Int_t mode, const Bool_t noComment)
{
if (gHades)
{
if (gHades->isReal())
{
if (abs(nHits) >= 2)
{
if(nHits>0)
{
nTrialsToFillHits++;
}
else
{
nTrialsToFillHits--;
}
if (!noComment)
{
Warning("setTime()","number of hits for REAL events: %i > 2, datum not filled",abs(nTrialsToFillHits));
}
return kFALSE;
}
}
}
switch (nHits)
{
case 0:
time1 = time;
if (mode)
{ nHits--; nTrialsToFillHits--;}
else
{ nHits++; nTrialsToFillHits++;}
break;
case -1:
time2 = time;
nHits--;
nTrialsToFillHits--;
break;
case 1:
time2 = time;
nHits++;
nTrialsToFillHits++;
break;
case 2:
time3 = time;
nHits++;
nTrialsToFillHits++;
break;
case 3:
time4 = time;
nHits++;
nTrialsToFillHits++;
break;
case 4:
time5 = time;
nHits++;
nTrialsToFillHits++;
break;
case 5:
time6 = time;
nHits++;
nTrialsToFillHits++;
break;
default:
if (nHits < 0 && !noComment)
{
nTrialsToFillHits--;
Warning("setTime()",
"number of hits for REAL events: %i > 2, datum not filled",
abs(nTrialsToFillHits));
}
if (nHits > 0 && !noComment)
{
nTrialsToFillHits++;
Warning("setTime()",
"number of hits for CALIBRATION events: %i > 6, datum not filled",
nTrialsToFillHits);
}
return kFALSE;
}
return kTRUE;
}
Int_t HMdcRaw::getTime(const Int_t n) const {
switch (n) {
case 1: return time1;
case 2: return time2;
case 3: return time3;
case 4: return time4;
case 5: return time5;
case 6: return time6;
default:
Error("getTime()","time number: %i out of range [1,6]",n);
return -1;
}
}
Bool_t HMdcRaw::setTimeNew(const Int_t time, const Int_t nrtime)
{
if(abs(nHits)>=nrtime)
{
switch (nrtime)
{
case 1:
time1=time;
break;
case 2:
time2=time;
break;
case 3:
time3=time;
break;
case 4:
time4=time;
break;
case 5:
time5=time;
break;
case 6:
time6=time;
break;
default:
{
Error("setTimeNew()","number of times not ok, because: %i !=casevalue", nrtime);
return kFALSE;
}
}
}
else
{
Error("setTimeNew()","number of times %i exceeds allowed nHits %i", nrtime,nHits);
return kFALSE;
}
return kTRUE;
}
void HMdcRaw::Streamer(TBuffer &R__b)
{
UInt_t R__s, R__c;
if (R__b.IsReading()) {
Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
TObject::Streamer(R__b);
R__b >> nHits;
R__b >> time1;
R__b >> time2;
R__b >> time3;
R__b >> time4;
R__b >> time5;
R__b >> time6;
R__b >> sector;
R__b >> module;
R__b >> mbo;
R__b >> tdc;
if (R__v > 1) R__b >> nTrialsToFillHits;
R__b.CheckByteCount(R__s, R__c, HMdcRaw::IsA());
} else {
R__c = R__b.WriteVersion(HMdcRaw::IsA(), kTRUE);
TObject::Streamer(R__b);
R__b << nHits;
R__b << time1;
R__b << time2;
R__b << time3;
R__b << time4;
R__b << time5;
R__b << time6;
R__b << sector;
R__b << module;
R__b << mbo;
R__b << tdc;
R__b << nTrialsToFillHits;
R__b.SetByteCount(R__c, kTRUE);
}
}
Last change: Sat May 22 13:03:13 2010
Last generated: 2010-05-22 13:03
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.