54 AliDebug(1,Form(
"this=%p Empty ctor",
this));
66 AliDebug(1,Form(
"this=%p Normal ctor slat=%p",
this,slat));
79 AliDebug(1,Form(
"this=%p",
this));
93 AliDebug(3,Form(
"Converted input area wrt to slat center : "
94 "%7.2f,%7.2f->%7.2f,%7.2f to wrt slat lower-left : "
95 "%7.2f,%7.2f->%7.2f,%7.2f ",
98 a.LeftBorder(),a.DownBorder(),
99 a.RightBorder(),a.UpBorder()));
123 Bool_t includeVoid)
const
160 TString name(
"SlatSegmentation");
203 Bool_t warning)
const
219 AliWarning(Form(
"Manu ID %d not found in slat %s",
228 if ( localIndices < 0 )
232 AliWarning(Form(
"The pad number %d doesn't exists",
246 return AliMpPad(manuId, manuChannel,
254 Bool_t warning)
const
274 AliWarning(Form(
"No motif found containing pad location (%d,%d)",ix,iy));
289 AliWarning(Form(
"No connection for pad location (%d,%d)",ix,iy));
303 ix, iy, posx, posy, dx, dy);
309 Bool_t warning)
const
331 AliWarning(Form(
"Slat %s Position (%e,%e)/center (%e,%e)/bottom-left cm "
351 AliWarning(Form(
"Slat %s localIndices (%d,%d) outside motif %s limits",
Double_t GetPositionY() const
Return y position.
const AliMpSlat * Slat() const
virtual void Print(Option_t *opt) const
const AliMpSlat * fkSlat
Slat.
const char * GetName() const
Double_t GetDimensionY() const
Return y dimensions.
virtual Bool_t HasMotifPosition(Int_t manuId) const =0
Whether or not we have a given manu.
void GetAllMotifPositionsIDs(TArrayI &ecn) const
Return the ids of the electronic cards (either manu or local board).
Double_t GetPositionY() const
Return y position.
Double_t LeftBorder() const
virtual Int_t GetNofElectronicCards() const
Get the number of electronic card IDs.
Int_t MaxPadIndexX() const
Return maximum pad index in X direction.
virtual AliMp::PlaneType PlaneType() const
Return the plane type.
Double_t GetPositionY() const
Return y position.
virtual AliMpPad PadByIndices(Int_t ix, Int_t iy, Bool_t warning) const
Find pad by indices.
MpPair_t Pair(Int_t first, Int_t second)
Encode the pair of integers to another integer.
A rectangle area positioned in plane..
Bool_t HasPadByIndices(MpPair_t indices) const
virtual Int_t GetNeighbours(const AliMpPad &pad, TObjArray &neighbours, Bool_t includeSelf=kFALSE, Bool_t includeVoid=kFALSE) const
AliMpConnection * FindConnectionByLocalIndices(MpPair_t localIndices) const
A slat (building block of stations 3, 4 and 5)
MpPair_t FindLocalIndicesByGassiNum(Int_t gassiNum) const
AliMpMotifType * GetMotifType() const
Return the motif type.
static AliMpPad Invalid()
Return invalid pad.
AliMpMotifPosition * FindMotifPosition(Double_t x, Double_t y) const
Returns the MotifPosition containing location (x,y).
virtual Double_t GetPositionY() const
Return the y position of the origin of the detection element.
void Print(Option_t *option="") const
Int_t GetID() const
Return motif position ID = manu id.
TString GetID() const
Return the motif identifier.
virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning) const
Find pad by location.
Double_t GetDimensionX() const
Return x dimensions.
const char * GetName() const
An interface for an iterator over pads.
virtual AliMpVPadIterator * CreateIterator() const
Create a pad iterator over the whole area.
MpPair_t GetLowIndicesLimit() const
Double_t UpBorder() const
AliMpVMotif * GetMotif() const
Return motif.
Int_t MaxPadIndexY() const
Return maximum pad index in Y direction.
Int_t GetMaxNofPadsY() const
virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const
Return true if the pad with given location exists.
const char * GetID() const
Bool_t fIsOwner
Slat ownership.
Double_t GetPositionX() const
Return x position.
virtual Bool_t HasMotifPosition(Int_t manuId) const
Whether or not we have a given manu.
virtual Double_t GetPositionX() const
Return the x position of the origin of the detection element.
virtual MpPair_t PadIndicesLocal(Double_t localPosX, Double_t localPosY) const =0
Return local indices of the pad specified by local position.
Implementation of AliMpVSegmentation for St345 slats.
virtual void PadPositionLocal(MpPair_t localIndices, Double_t &posx, Double_t &posy) const =0
Fill local position of the pad specified by local indices.
Int_t NofPads() const
Return the number of pads in the detection element.
Double_t DownBorder() const
Double_t GetPositionX() const
Return x position.
Abstract base class for a motif with its unique ID and the motif type.
void GetAllElectronicCardIDs(TArrayI &ecn) const
Fill the given array with the electronic card IDs.
The abstract base class for the segmentation.
virtual MpPair_t GlobalIndices(MpPair_t localIndices) const
Int_t GetManuChannel() const
Return manu channel number.
Int_t GetMaxPadIndexX() const
Int_t NofPads() const
Return the number of pads in this slat.
virtual AliMpPad PadByPosition(Double_t x, Double_t y, Bool_t warning) const
Find pad by position.
Int_t PairFirst(MpPair_t pair)
Decode the first integer from encoded pair.
virtual Int_t GetNeighbours(const AliMpPad &pad, TObjArray &neighbours, Bool_t includeSelf=kFALSE, Bool_t includeVoid=kFALSE) const =0
AliMp::PlaneType PlaneType() const
Return the plane type.
virtual ~AliMpSlatSegmentation()
Class which encapsuate all information about a pad.
Double_t GetPositionX() const
Return x position.
Int_t PairSecond(MpPair_t pair)
Decode the second integer from encoded pair.
virtual Double_t GetDimensionX() const
Return the x half-sizes of the detection element.
Int_t GetNofElectronicCards() const
Return the number of electronic cards (either manu or local board).
virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const
Bool_t HasPadByManuChannel(Int_t manuChannel) const
Double_t RightBorder() const
Class that defines the motif properties.
virtual AliMpMotifPosition * MotifPosition(Int_t manuId) const
Return the position of a given manu (aka motifPosition)
virtual void GetPadDimensionsByIndices(MpPair_t localIndices, Double_t &dx, Double_t &dy) const =0
Return the dimensions of the pad specified by localIndices.
virtual Double_t GetDimensionY() const
Return the y half-sizes of the detection element.