X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=TRD%2FAliTRDpadPlane.cxx;h=636bac1f9bf522d6a786f40985dde632e5317ed3;hp=5c776e96463346ecd47f75792783ab846777c2d3;hb=089086d30be8b3ee9f676b0e70b066b7cc045783;hpb=023b669c0aa7c96f0e72b350b316b3e229726c69 diff --git a/TRD/AliTRDpadPlane.cxx b/TRD/AliTRDpadPlane.cxx index 5c776e96463..636bac1f9bf 100644 --- a/TRD/AliTRDpadPlane.cxx +++ b/TRD/AliTRDpadPlane.cxx @@ -31,7 +31,6 @@ #include #include "AliTRDpadPlane.h" -#include "AliTRDgeometry.h" ClassImp(AliTRDpadPlane) @@ -57,6 +56,7 @@ AliTRDpadPlane::AliTRDpadPlane() ,fPadRow(0) ,fPadCol(0) ,fPadRowSMOffset(0) + ,fAnodeWireOffset(0) { // // Default constructor @@ -86,6 +86,7 @@ AliTRDpadPlane::AliTRDpadPlane(Int_t layer, Int_t stack) ,fPadRow(0) ,fPadCol(0) ,fPadRowSMOffset(0) + ,fAnodeWireOffset(0) { // // Constructor @@ -115,6 +116,7 @@ AliTRDpadPlane::AliTRDpadPlane(const AliTRDpadPlane &p) ,fPadRow(0) ,fPadCol(0) ,fPadRowSMOffset(p.fPadRowSMOffset) + ,fAnodeWireOffset(p.fAnodeWireOffset) { // // AliTRDpadPlane copy constructor @@ -122,20 +124,14 @@ AliTRDpadPlane::AliTRDpadPlane(const AliTRDpadPlane &p) Int_t iBin = 0; - if (((AliTRDpadPlane &) p).fPadRow) { - delete [] ((AliTRDpadPlane &) p).fPadRow; - } - ((AliTRDpadPlane &) p).fPadRow = new Double_t[fNrows]; + fPadRow = new Double_t[fNrows]; for (iBin = 0; iBin < fNrows; iBin++) { - ((AliTRDpadPlane &) p).fPadRow[iBin] = fPadRow[iBin]; + fPadRow[iBin] = ((AliTRDpadPlane &) p).fPadRow[iBin]; } - if (((AliTRDpadPlane &) p).fPadCol) { - delete [] ((AliTRDpadPlane &) p).fPadCol; - } - ((AliTRDpadPlane &) p).fPadCol = new Double_t[fNrows]; + fPadCol = new Double_t[fNrows]; for (iBin = 0; iBin < fNrows; iBin++) { - ((AliTRDpadPlane &) p).fPadCol[iBin] = fPadCol[iBin]; + fPadCol[iBin] = ((AliTRDpadPlane &) p).fPadCol[iBin]; } } @@ -166,10 +162,49 @@ AliTRDpadPlane &AliTRDpadPlane::operator=(const AliTRDpadPlane &p) // Assignment operator // - if (this != &p) { - ((AliTRDpadPlane &) p).Copy(*this); + if (this == &p) { + return *this; } + fLayer = p.fLayer; + fStack = p.fStack; + fLength = p.fLength; + fWidth = p.fWidth; + fLengthRim = p.fLengthRim; + fWidthRim = p.fLengthRim; + fLengthOPad = p.fLengthOPad; + fWidthOPad = p.fWidthOPad; + fLengthIPad = p.fLengthIPad; + fWidthIPad = p.fWidthIPad; + fRowSpacing = p.fRowSpacing; + fColSpacing = p.fColSpacing; + fNrows = p.fNrows; + fNcols = p.fNcols; + fTiltingAngle = p.fTiltingAngle; + fTiltingTan = p.fTiltingTan; + fPadRow = 0; + fPadCol = 0; + fPadRowSMOffset = p.fPadRowSMOffset; + fAnodeWireOffset = p.fAnodeWireOffset; + + Int_t iBin = 0; + + if (fPadRow) { + delete [] fPadRow; + } + fPadRow = new Double_t[fNrows]; + for (iBin = 0; iBin < fNrows; iBin++) { + fPadRow[iBin] = ((AliTRDpadPlane &) p).fPadRow[iBin]; + } + + if (fPadCol) { + delete [] fPadCol; + } + fPadCol = new Double_t[fNrows]; + for (iBin = 0; iBin < fNrows; iBin++) { + fPadCol[iBin] = ((AliTRDpadPlane &) p).fPadCol[iBin]; + } + return *this; } @@ -183,28 +218,29 @@ void AliTRDpadPlane::Copy(TObject &p) const Int_t iBin = 0; - ((AliTRDpadPlane &) p).fLayer = fLayer; - ((AliTRDpadPlane &) p).fStack = fStack; + ((AliTRDpadPlane &) p).fLayer = fLayer; + ((AliTRDpadPlane &) p).fStack = fStack; - ((AliTRDpadPlane &) p).fLength = fLength; - ((AliTRDpadPlane &) p).fWidth = fWidth; - ((AliTRDpadPlane &) p).fLengthRim = fLengthRim; - ((AliTRDpadPlane &) p).fWidthRim = fWidthRim; - ((AliTRDpadPlane &) p).fLengthOPad = fLengthOPad; - ((AliTRDpadPlane &) p).fWidthOPad = fWidthOPad; - ((AliTRDpadPlane &) p).fLengthIPad = fLengthIPad; - ((AliTRDpadPlane &) p).fWidthIPad = fWidthIPad; + ((AliTRDpadPlane &) p).fLength = fLength; + ((AliTRDpadPlane &) p).fWidth = fWidth; + ((AliTRDpadPlane &) p).fLengthRim = fLengthRim; + ((AliTRDpadPlane &) p).fWidthRim = fWidthRim; + ((AliTRDpadPlane &) p).fLengthOPad = fLengthOPad; + ((AliTRDpadPlane &) p).fWidthOPad = fWidthOPad; + ((AliTRDpadPlane &) p).fLengthIPad = fLengthIPad; + ((AliTRDpadPlane &) p).fWidthIPad = fWidthIPad; - ((AliTRDpadPlane &) p).fRowSpacing = fRowSpacing; - ((AliTRDpadPlane &) p).fColSpacing = fColSpacing; + ((AliTRDpadPlane &) p).fRowSpacing = fRowSpacing; + ((AliTRDpadPlane &) p).fColSpacing = fColSpacing; - ((AliTRDpadPlane &) p).fNrows = fNrows; - ((AliTRDpadPlane &) p).fNcols = fNcols; + ((AliTRDpadPlane &) p).fNrows = fNrows; + ((AliTRDpadPlane &) p).fNcols = fNcols; - ((AliTRDpadPlane &) p).fTiltingAngle = fTiltingAngle; - ((AliTRDpadPlane &) p).fTiltingTan = fTiltingTan; + ((AliTRDpadPlane &) p).fTiltingAngle = fTiltingAngle; + ((AliTRDpadPlane &) p).fTiltingTan = fTiltingTan; - ((AliTRDpadPlane &) p).fPadRowSMOffset = fPadRowSMOffset; + ((AliTRDpadPlane &) p).fPadRowSMOffset = fPadRowSMOffset; + ((AliTRDpadPlane &) p).fAnodeWireOffset = fAnodeWireOffset; if (((AliTRDpadPlane &) p).fPadRow) { delete [] ((AliTRDpadPlane &) p).fPadRow;