fNHits(0),
fNHits0(0),
fNHits1(0),
- fLabel(-1)
+ fSlope(0.),
+ fOffset(0.),
+ fError(0.),
+ fNClusters(0),
+ fResiduals(0x0),
+ fClsCharges(0x0)
{
fGeo = new AliTRDgeometry();
+ fLabel[0] = -1;
+ fLabel[1] = -1;
+ fLabel[2] = -1;
}
AliTRDtrackletMCM::AliTRDtrackletMCM(UInt_t trackletWord, Int_t hcid) :
fNHits(0),
fNHits0(0),
fNHits1(0),
- fLabel(-1)
+ fSlope(0.),
+ fOffset(0.),
+ fError(0.),
+ fNClusters(0),
+ fResiduals(0x0),
+ fClsCharges(0x0)
{
fGeo = new AliTRDgeometry();
+ fLabel[0] = -1;
+ fLabel[1] = -1;
+ fLabel[2] = -1;
}
AliTRDtrackletMCM::AliTRDtrackletMCM(UInt_t trackletWord, Int_t hcid, Int_t rob, Int_t mcm) :
fNHits(0),
fNHits0(0),
fNHits1(0),
- fLabel(-1)
+ fSlope(0.),
+ fOffset(0.),
+ fError(0.),
+ fNClusters(0),
+ fResiduals(0x0),
+ fClsCharges(0x0)
{
fGeo = new AliTRDgeometry();
+ fLabel[0] = -1;
+ fLabel[1] = -1;
+ fLabel[2] = -1;
}
AliTRDtrackletMCM::AliTRDtrackletMCM(const AliTRDtrackletMCM &rhs) :
fNHits(rhs.fNHits),
fNHits0(rhs.fNHits0),
fNHits1(rhs.fNHits1),
- fLabel(rhs.fLabel)
+ fSlope(rhs.fSlope),
+ fOffset(rhs.fOffset),
+ fError(rhs.fError),
+ fNClusters(rhs.fNClusters),
+ fResiduals(0x0),
+ fClsCharges(0x0)
{
fGeo = new AliTRDgeometry();
+ fResiduals = new Float_t[fNClusters];
+ fClsCharges = new Float_t[fNClusters];
+ for (Int_t iCls = 0; iCls < fNClusters; iCls++) {
+ fResiduals[iCls] = rhs.fResiduals[iCls];
+ fClsCharges[iCls] = rhs.fClsCharges[iCls];
+ }
+ fLabel[0] = rhs.fLabel[0];
+ fLabel[1] = rhs.fLabel[1];
+ fLabel[2] = rhs.fLabel[2];
}
AliTRDtrackletMCM::~AliTRDtrackletMCM()
{
+ delete [] fResiduals;
+ delete [] fClsCharges;
delete fGeo;
}
return ((fTrackletWord >> 13) & 0x7f);
}
}
+
+void AliTRDtrackletMCM::SetLabel(Int_t label[])
+{
+ fLabel[0] = label[0];
+ fLabel[1] = label[1];
+ fLabel[2] = label[2];
+}
+
+void AliTRDtrackletMCM::SetClusters(Float_t *res, Float_t *q, Int_t n)
+{
+ fNClusters = n;
+ delete [] fResiduals;
+ delete [] fClsCharges;
+
+ fResiduals = new Float_t[fNClusters];
+ fClsCharges = new Float_t[fNClusters];
+
+ for (Int_t iCls = 0; iCls < fNClusters; iCls++) {
+ fResiduals[iCls] = res[iCls];
+ fClsCharges[iCls] = q[iCls];
+ }
+}