#include <TMath.h>
#include "AliTRDpadPlane.h"
-#include "AliTRDgeometry.h"
ClassImp(AliTRDpadPlane)
,fPadRow(0)
,fPadCol(0)
,fPadRowSMOffset(0)
+ ,fAnodeWireOffset(0)
{
//
// Default constructor
,fPadRow(0)
,fPadCol(0)
,fPadRowSMOffset(0)
+ ,fAnodeWireOffset(0)
{
//
// Constructor
,fPadRow(0)
,fPadCol(0)
,fPadRowSMOffset(p.fPadRowSMOffset)
+ ,fAnodeWireOffset(p.fAnodeWireOffset)
{
//
// AliTRDpadPlane copy constructor
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];
}
}
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;
Int_t AliTRDpadPlane::GetPadColNumber(Double_t rphi) const
{
//
- // Finds the pad column number for a given global rphi-position
+ // Finds the pad column number for a given rphi-position
//
Int_t col = 0;
Int_t nbelow = 0;
Int_t middle = 0;
- if ((rphi > GetCol0() ) ||
- (rphi < GetColEnd())) {
+ if ((rphi < GetCol0() ) ||
+ (rphi > GetColEnd())) {
col = -1;
}
else {
- nabove = fNcols + 1;
+ nabove = fNcols;
nbelow = 0;
while (nabove - nbelow > 1) {
middle = (nabove + nbelow) / 2;
- if (rphi == fPadCol[middle-1]) {
+ if (rphi == fPadCol[middle]) {
col = middle;
}
- if (rphi > fPadCol[middle-1]) {
- nabove = middle;
+ if (rphi > fPadCol[middle]) {
+ nbelow = middle;
}
else {
- nbelow = middle;
+ nabove = middle;
}
}
- col = nbelow - 1;
+ col = nbelow;
}