#ifndef ALI_MP_SECTOR_SEGMENTATION_H
#define ALI_MP_SECTOR_SEGMENTATION_H
#include "AliMpVSegmentation.h"
#include "AliMpPad.h"
#include <TExMap.h>
class AliMpSector;
class AliMpMotifPosition;
class AliMpVPadIterator;
class AliMpArea;
class AliMpSectorSegmentation : public AliMpVSegmentation
{
public:
AliMpSectorSegmentation(const AliMpSector* sector, Bool_t own = false);
AliMpSectorSegmentation();
virtual ~AliMpSectorSegmentation();
virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
virtual AliMpVPadIterator* CreateIterator() const;
virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
Bool_t includeSelf = kFALSE,
Bool_t includeVoid = kFALSE) const;
virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel,
Bool_t warning = kTRUE) const;
virtual AliMpPad PadByIndices (Int_t ix, Int_t iy,
Bool_t warning = kTRUE) const;
virtual AliMpPad PadByPosition(Double_t x, Double_t y,
Bool_t warning = kTRUE) const;
virtual AliMpPad PadByDirection(Double_t startx, Double_t starty,
Double_t distance) const;
virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const;
virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const;
virtual Int_t MaxPadIndexX() const;
virtual Int_t MaxPadIndexY() const;
virtual Int_t NofPads() const;
virtual void GetAllElectronicCardIDs(TArrayI& ecn) const;
virtual Int_t GetNofElectronicCards() const;
virtual Bool_t HasMotifPosition(Int_t motifPositionID) const;
virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
virtual AliMp::PlaneType PlaneType() const;
virtual AliMp::StationType StationType() const;
virtual Double_t GetDimensionX() const;
virtual Double_t GetDimensionY() const;
virtual Double_t GetPositionX() const;
virtual Double_t GetPositionY() const;
virtual void Print(Option_t* opt="") const;
Double_t GetMinPadDimensionX() const;
Double_t GetMinPadDimensionY() const;
Bool_t CircleTest(Int_t ix, Int_t iy) const;
const AliMpSector* GetSector() const;
private:
AliMpSectorSegmentation(const AliMpSectorSegmentation& right);
AliMpSectorSegmentation& operator = (const AliMpSectorSegmentation& right);
AliMpMotifPosition* FindMotifPosition(Int_t ix, Int_t iy) const;
virtual AliMpPad PadByXDirection(Double_t startx, Double_t starty,
Double_t maxX) const;
virtual AliMpPad PadByYDirection(Double_t startx, Double_t starty,
Double_t maxY) const;
const AliMpSector* fkSector;
Bool_t fIsOwner;
AliMpPad* fPadBuffer;
Int_t fMaxIndexInX;
Int_t fMaxIndexInY;
ClassDef(AliMpSectorSegmentation,3)
};
inline const AliMpSector* AliMpSectorSegmentation::GetSector() const
{ return fkSector; }
inline AliMp::StationType AliMpSectorSegmentation::StationType() const
{ return AliMp::kStation12; }
#endif //ALI_MP_SECTOR_SEGMENTATION_H
AliMpSectorSegmentation.h:1 AliMpSectorSegmentation.h:2 AliMpSectorSegmentation.h:3 AliMpSectorSegmentation.h:4 AliMpSectorSegmentation.h:5 AliMpSectorSegmentation.h:6 AliMpSectorSegmentation.h:7 AliMpSectorSegmentation.h:8 AliMpSectorSegmentation.h:9 AliMpSectorSegmentation.h:10 AliMpSectorSegmentation.h:11 AliMpSectorSegmentation.h:12 AliMpSectorSegmentation.h:13 AliMpSectorSegmentation.h:14 AliMpSectorSegmentation.h:15 AliMpSectorSegmentation.h:16 AliMpSectorSegmentation.h:17 AliMpSectorSegmentation.h:18 AliMpSectorSegmentation.h:19 AliMpSectorSegmentation.h:20 AliMpSectorSegmentation.h:21 AliMpSectorSegmentation.h:22 AliMpSectorSegmentation.h:23 AliMpSectorSegmentation.h:24 AliMpSectorSegmentation.h:25 AliMpSectorSegmentation.h:26 AliMpSectorSegmentation.h:27 AliMpSectorSegmentation.h:28 AliMpSectorSegmentation.h:29 AliMpSectorSegmentation.h:30 AliMpSectorSegmentation.h:31 AliMpSectorSegmentation.h:32 AliMpSectorSegmentation.h:33 AliMpSectorSegmentation.h:34 AliMpSectorSegmentation.h:35 AliMpSectorSegmentation.h:36 AliMpSectorSegmentation.h:37 AliMpSectorSegmentation.h:38 AliMpSectorSegmentation.h:39 AliMpSectorSegmentation.h:40 AliMpSectorSegmentation.h:41 AliMpSectorSegmentation.h:42 AliMpSectorSegmentation.h:43 AliMpSectorSegmentation.h:44 AliMpSectorSegmentation.h:45 AliMpSectorSegmentation.h:46 AliMpSectorSegmentation.h:47 AliMpSectorSegmentation.h:48 AliMpSectorSegmentation.h:49 AliMpSectorSegmentation.h:50 AliMpSectorSegmentation.h:51 AliMpSectorSegmentation.h:52 AliMpSectorSegmentation.h:53 AliMpSectorSegmentation.h:54 AliMpSectorSegmentation.h:55 AliMpSectorSegmentation.h:56 AliMpSectorSegmentation.h:57 AliMpSectorSegmentation.h:58 AliMpSectorSegmentation.h:59 AliMpSectorSegmentation.h:60 AliMpSectorSegmentation.h:61 AliMpSectorSegmentation.h:62 AliMpSectorSegmentation.h:63 AliMpSectorSegmentation.h:64 AliMpSectorSegmentation.h:65 AliMpSectorSegmentation.h:66 AliMpSectorSegmentation.h:67 AliMpSectorSegmentation.h:68 AliMpSectorSegmentation.h:69 AliMpSectorSegmentation.h:70 AliMpSectorSegmentation.h:71 AliMpSectorSegmentation.h:72 AliMpSectorSegmentation.h:73 AliMpSectorSegmentation.h:74 AliMpSectorSegmentation.h:75 AliMpSectorSegmentation.h:76 AliMpSectorSegmentation.h:77 AliMpSectorSegmentation.h:78 AliMpSectorSegmentation.h:79 AliMpSectorSegmentation.h:80 AliMpSectorSegmentation.h:81 AliMpSectorSegmentation.h:82 AliMpSectorSegmentation.h:83 AliMpSectorSegmentation.h:84 AliMpSectorSegmentation.h:85 AliMpSectorSegmentation.h:86 AliMpSectorSegmentation.h:87 AliMpSectorSegmentation.h:88 AliMpSectorSegmentation.h:89 AliMpSectorSegmentation.h:90 AliMpSectorSegmentation.h:91 AliMpSectorSegmentation.h:92 AliMpSectorSegmentation.h:93 AliMpSectorSegmentation.h:94 AliMpSectorSegmentation.h:95 AliMpSectorSegmentation.h:96 AliMpSectorSegmentation.h:97 AliMpSectorSegmentation.h:98 AliMpSectorSegmentation.h:99 AliMpSectorSegmentation.h:100 AliMpSectorSegmentation.h:101 AliMpSectorSegmentation.h:102 AliMpSectorSegmentation.h:103 AliMpSectorSegmentation.h:104 AliMpSectorSegmentation.h:105 AliMpSectorSegmentation.h:106 AliMpSectorSegmentation.h:107 AliMpSectorSegmentation.h:108 AliMpSectorSegmentation.h:109 AliMpSectorSegmentation.h:110 AliMpSectorSegmentation.h:111 AliMpSectorSegmentation.h:112 AliMpSectorSegmentation.h:113 AliMpSectorSegmentation.h:114 AliMpSectorSegmentation.h:115 AliMpSectorSegmentation.h:116 AliMpSectorSegmentation.h:117 AliMpSectorSegmentation.h:118 AliMpSectorSegmentation.h:119 AliMpSectorSegmentation.h:120 AliMpSectorSegmentation.h:121