X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDtrackletMCM.cxx;h=086b6e2fa13c3bb804f2dde05d72f05343cf81c1;hb=a98c78e57bdccb2bbe4b5cf77bfe3999e7b303c6;hp=f403aa3dfc6ddb1aad075797e43a15b69a405c9a;hpb=36dc33376694936d779ad300f226d680f4ae227d;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDtrackletMCM.cxx b/TRD/AliTRDtrackletMCM.cxx index f403aa3dfc6..086b6e2fa13 100644 --- a/TRD/AliTRDtrackletMCM.cxx +++ b/TRD/AliTRDtrackletMCM.cxx @@ -40,7 +40,13 @@ AliTRDtrackletMCM::AliTRDtrackletMCM(UInt_t trackletWord) : fNHits(0), fNHits0(0), fNHits1(0), - fLabel(-1) + fLabel(-1), + fSlope(0.), + fOffset(0.), + fError(0.), + fNClusters(0), + fResiduals(0x0), + fClsCharges(0x0) { fGeo = new AliTRDgeometry(); } @@ -57,7 +63,13 @@ AliTRDtrackletMCM::AliTRDtrackletMCM(UInt_t trackletWord, Int_t hcid) : fNHits(0), fNHits0(0), fNHits1(0), - fLabel(-1) + fLabel(-1), + fSlope(0.), + fOffset(0.), + fError(0.), + fNClusters(0), + fResiduals(0x0), + fClsCharges(0x0) { fGeo = new AliTRDgeometry(); } @@ -74,7 +86,13 @@ AliTRDtrackletMCM::AliTRDtrackletMCM(UInt_t trackletWord, Int_t hcid, Int_t rob, fNHits(0), fNHits0(0), fNHits1(0), - fLabel(-1) + fLabel(-1), + fSlope(0.), + fOffset(0.), + fError(0.), + fNClusters(0), + fResiduals(0x0), + fClsCharges(0x0) { fGeo = new AliTRDgeometry(); } @@ -91,13 +109,27 @@ AliTRDtrackletMCM::AliTRDtrackletMCM(const AliTRDtrackletMCM &rhs) : fNHits(rhs.fNHits), fNHits0(rhs.fNHits0), fNHits1(rhs.fNHits1), - fLabel(rhs.fLabel) + fLabel(rhs.fLabel), + fSlope(rhs.fLabel), + 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]; + } } AliTRDtrackletMCM::~AliTRDtrackletMCM() { + delete [] fResiduals; + delete [] fClsCharges; delete fGeo; } @@ -121,3 +153,18 @@ Int_t AliTRDtrackletMCM::GetdY() const return ((fTrackletWord >> 13) & 0x7f); } } + +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]; + } +}