#include <TMath.h>
#include "AliTRDpadPlane.h"
-#include "AliTRDgeometry.h"
ClassImp(AliTRDpadPlane)
//_____________________________________________________________________________
AliTRDpadPlane::AliTRDpadPlane()
:TObject()
- ,fPla(0)
- ,fCha(0)
+ ,fLayer(0)
+ ,fStack(0)
,fLength(0)
,fWidth(0)
,fLengthRim(0)
,fPadRow(0)
,fPadCol(0)
,fPadRowSMOffset(0)
+ ,fAnodeWireOffset(0)
{
//
// Default constructor
}
//_____________________________________________________________________________
-AliTRDpadPlane::AliTRDpadPlane(Int_t plane, Int_t chamber)
+AliTRDpadPlane::AliTRDpadPlane(Int_t layer, Int_t stack)
:TObject()
- ,fPla(plane)
- ,fCha(chamber)
+ ,fLayer(layer)
+ ,fStack(stack)
,fLength(0)
,fWidth(0)
,fLengthRim(0)
,fPadRow(0)
,fPadCol(0)
,fPadRowSMOffset(0)
+ ,fAnodeWireOffset(0)
{
//
// Constructor
}
-//_____________________________________________________________________________
-AliTRDpadPlane::AliTRDpadPlane(const AliTRDpadPlane &p)
- :TObject(p)
- ,fPla(p.fPla)
- ,fCha(p.fCha)
- ,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)
-{
- //
- // AliTRDpadPlane copy constructor
- //
-
- Int_t iBin = 0;
-
- if (((AliTRDpadPlane &) p).fPadRow) {
- delete [] ((AliTRDpadPlane &) p).fPadRow;
- }
- ((AliTRDpadPlane &) p).fPadRow = new Double_t[fNrows];
- for (iBin = 0; iBin < fNrows; iBin++) {
- ((AliTRDpadPlane &) p).fPadRow[iBin] = fPadRow[iBin];
- }
-
- if (((AliTRDpadPlane &) p).fPadCol) {
- delete [] ((AliTRDpadPlane &) p).fPadCol;
- }
- ((AliTRDpadPlane &) p).fPadCol = new Double_t[fNrows];
- for (iBin = 0; iBin < fNrows; iBin++) {
- ((AliTRDpadPlane &) p).fPadCol[iBin] = fPadCol[iBin];
- }
-
-}
-
//_____________________________________________________________________________
AliTRDpadPlane::~AliTRDpadPlane()
{
}
-//_____________________________________________________________________________
-AliTRDpadPlane &AliTRDpadPlane::operator=(const AliTRDpadPlane &p)
-{
- //
- // Assignment operator
- //
-
- if (this != &p) {
- ((AliTRDpadPlane &) p).Copy(*this);
- }
-
- return *this;
-
-}
-
//_____________________________________________________________________________
void AliTRDpadPlane::Copy(TObject &p) const
{
Int_t iBin = 0;
- ((AliTRDpadPlane &) p).fPla = fPla;
- ((AliTRDpadPlane &) p).fCha = fCha;
+ ((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;
}