X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliTrackResiduals.cxx;h=157d620779d174118d1e2d737dd33084aacd28bf;hb=46ae650f146b19479150f90101be07ef99230470;hp=4604fd6b7965ceda2bd914d2a85468c4cbe01040;hpb=fa7ca4da34c10a62ca95cca45a70221451b3b9fd;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliTrackResiduals.cxx b/STEER/AliTrackResiduals.cxx index 4604fd6b796..157d620779d 100644 --- a/STEER/AliTrackResiduals.cxx +++ b/STEER/AliTrackResiduals.cxx @@ -30,18 +30,23 @@ ClassImp(AliTrackResiduals) AliTrackResiduals::AliTrackResiduals(): fN(0), fLast(0), + fAlignObj(0), + fVolArray(0), + fTrackArray(0), + fChi2(0), + fNdf(0), fIsOwner(kTRUE) { // Default constructor - fAlignObj = 0x0; - fVolArray = fTrackArray = 0x0; } //_____________________________________________________________________________ -AliTrackResiduals::AliTrackResiduals(Int_t ntracks, AliAlignObj *alignobj): +AliTrackResiduals::AliTrackResiduals(Int_t ntracks): fN(ntracks), fLast(0), - fAlignObj(alignobj), + fAlignObj(0), + fChi2(0), + fNdf(0), fIsOwner(kTRUE) { // Constructor @@ -58,11 +63,15 @@ AliTrackResiduals::AliTrackResiduals(const AliTrackResiduals &res): TObject(res), fN(res.fN), fLast(res.fLast), - fAlignObj(res.fAlignObj), + fChi2(res.fChi2), + fNdf(res.fNdf), fIsOwner(kTRUE) { // Copy constructor // By default the created copy owns the track point arrays + if (res.fAlignObj) + fAlignObj = (AliAlignObj *)res.fAlignObj->Clone(); + if (fN > 0) { fVolArray = new AliTrackPointArray*[fN]; fTrackArray = new AliTrackPointArray*[fN]; @@ -90,6 +99,8 @@ AliTrackResiduals &AliTrackResiduals::operator =(const AliTrackResiduals& res) fN = res.fN; fLast = res.fLast; + fChi2 = res.fChi2; + fNdf = res.fNdf; fIsOwner = kFALSE; fAlignObj = res.fAlignObj; @@ -103,6 +114,7 @@ AliTrackResiduals &AliTrackResiduals::operator =(const AliTrackResiduals& res) AliTrackResiduals::~AliTrackResiduals() { // Destructor + if (fAlignObj) delete fAlignObj; DeleteTrackPointArrays(); } @@ -116,6 +128,8 @@ void AliTrackResiduals::SetNTracks(Int_t ntracks) fN = ntracks; fLast = 0; + fChi2 = 0; + fNdf = 0; fIsOwner = kTRUE; if (ntracks > 0) { @@ -142,6 +156,17 @@ Bool_t AliTrackResiduals::AddTrackPointArrays(AliTrackPointArray *volarray, AliT return kTRUE; } +//_____________________________________________________________________________ +void AliTrackResiduals::SetAlignObj(AliAlignObj *alignobj) +{ + // Copy the alignment object to be updated in fAlignObj + // and flush its parameters + if (fAlignObj) delete fAlignObj; + fAlignObj = (AliAlignObj *)alignobj->Clone(); + fAlignObj->SetPars(0,0,0,0,0,0); +} + + //_____________________________________________________________________________ Bool_t AliTrackResiduals::GetTrackPointArrays(Int_t i, AliTrackPointArray* &volarray, AliTrackPointArray* &trackarray) const {