#include "hmdcseg.h"
#include "TBuffer.h"
HMdcSeg::HMdcSeg(void) {
Clear();
}
HMdcSeg::~HMdcSeg(void) {
}
void HMdcSeg::Clear(void) {
z=0.;
r=0.;
theta=0.;
phi=0.;
chi2=0.;
flag=0;
ind = 0;
ind2 = 0;
cov.Clear();
zPrime=0.;
rPrime=0;
clusInd = -1;
resetFakeFlag();
x1 = 0x7FFF;
y1 = 0x7FFF;
x2 = 0x7FFF;
y2 = 0x7FFF;
clear();
}
void HMdcSeg::print(void) {
printf("----------Sec.%i Seg.%i chi2=%g ----------------",getSec()+1,getIOSeg()+1,chi2);
if(isFake()) printf(" FAKE!");
printf("\nz'=%.1f r'=%.1f theta=%.1f phi=%.1f (x1=%.1f y1=%.1f x2=%.1f y2=%.1f)\n",
zPrime,rPrime,theta*57.296,phi*57.296,getX1(),getY1(),getX2(),getY2());
printf("Cluster info: Cl.index=%i nBins=%i nCells=%i nMergedClus=%i\n",
clusInd,getNBinsClus(),getNCellsClus(),getNMergedClus());
printCellGroup();
}
void HMdcSeg::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) { }
HMdcCellGroup12::Streamer(R__b);
R__b >> z;
R__b >> r;
R__b >> theta;
R__b >> phi;
R__b >> chi2;
R__b >> flag;
cov.Streamer(R__b);
R__b >> ind;
if(R__v>2) {
R__b >> ind2;
} else {
UInt_t ind0 = ind;
ind = 0;
ind2 = 0;
setSec( (ind0 >> 29) & 0x7);
setIOSeg((ind0 >> 28) & 0x1);
Int_t i1 = ( ind0 & 0x3FFF);
Int_t i2 = ((ind0 >> 14) & 0x3FFF);
if(i1 > 0) setHitInd(0,i1-1);
if(i2 > 0) setHitInd(1,i2-1);
}
R__b >> zPrime;
R__b >> rPrime;
R__b >> clusInd;
if(R__v>1) {
R__b >> x1;
R__b >> y1;
R__b >> x2;
R__b >> y2;
} else {
x1 = 0x7FFF;
y1 = 0x7FFF;
x2 = 0x7FFF;
y2 = 0x7FFF;
}
R__b.CheckByteCount(R__s, R__c, HMdcSeg::IsA());
} else {
R__c = R__b.WriteVersion(HMdcSeg::IsA(), kTRUE);
HMdcCellGroup12::Streamer(R__b);
R__b << z;
R__b << r;
R__b << theta;
R__b << phi;
R__b << chi2;
R__b << flag;
cov.Streamer(R__b);
R__b << ind;
R__b << ind2;
R__b << zPrime;
R__b << rPrime;
R__b << clusInd;
R__b << x1;
R__b << y1;
R__b << x2;
R__b << y2;
R__b.SetByteCount(R__c, kTRUE);
}
}
ClassImp(HMdcSeg)