AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpVSegmentation.h
Go to the documentation of this file.
1 
2 
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 // $Id$
7 // $MpId: AliMpVSegmentation.h,v 1.12 2006/05/24 13:58:07 ivana Exp $
8 
19 
20 #ifndef ALI_MP_V_SEGMENTATION_H
21 #define ALI_MP_V_SEGMENTATION_H
22 
23 #include <TObject.h>
24 
25 #include "AliMpPad.h"
26 #include "AliMpPlaneType.h"
27 #include "AliMpStationType.h"
28 
29 class AliMpVPadIterator;
30 class AliMpArea;
31 class AliMpMotifPosition;
32 
33 class TArrayI;
34 class TObjArray;
35 
36 class AliMpVSegmentation : public TObject
37 {
38  public:
40  virtual ~AliMpVSegmentation();
41 
42  //
43  // methods
44  //
45 
46  // factory methods
48  virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const = 0;
49 
51  virtual AliMpVPadIterator* CreateIterator() const = 0;
52 
55  virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
56  Bool_t includeSelf=kFALSE,
57  Bool_t includeVoid=kFALSE) const = 0;
58 
60  virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel,
61  Bool_t warning = true) const = 0;
63  virtual AliMpPad PadByIndices (Int_t ix, Int_t iy,
64  Bool_t warning = true) const = 0;
66  virtual AliMpPad PadByPosition(Double_t x, Double_t y,
67  Bool_t warning = true) const = 0;
71  virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const;
72 
74  virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const;
75 
77  virtual Int_t MaxPadIndexX() const = 0;
79  virtual Int_t MaxPadIndexY() const = 0;
81  virtual Int_t NofPads() const = 0;
82 
84  virtual void GetAllElectronicCardIDs(TArrayI& ecn) const = 0;
85 
87  virtual Int_t GetNofElectronicCards() const = 0;
88 
90  virtual Bool_t HasMotifPosition(Int_t manuId) const = 0;
91 
93  virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const = 0;
94 
96  virtual AliMp::PlaneType PlaneType() const = 0;
97 
99  virtual AliMp::StationType StationType() const = 0;
100 
102  virtual Double_t GetDimensionX() const = 0;
104  virtual Double_t GetDimensionY() const = 0;
105 
107  virtual Double_t GetPositionX() const = 0;
109  virtual Double_t GetPositionY() const = 0;
110 
111 
112  ClassDef(AliMpVSegmentation,1) // Segmentation
113 };
114 
115 #endif //ALI_MP_V_SEGMENTATION_H
116 
virtual Bool_t HasMotifPosition(Int_t manuId) const =0
Whether or not we have a given manu.
virtual AliMp::PlaneType PlaneType() const =0
Return the plane type.
#define TObjArray
virtual Int_t NofPads() const =0
Return the number of pads in the detection element.
virtual Int_t GetNofElectronicCards() const =0
Get the number of electronic card IDs.
virtual AliMpMotifPosition * MotifPosition(Int_t manuId) const =0
Return the position of a given manu (aka motifPosition)
A rectangle area positioned in plane..
Definition: AliMpArea.h:20
virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const
virtual AliMpPad PadByIndices(Int_t ix, Int_t iy, Bool_t warning=true) const =0
Find pad by indices.
virtual Double_t GetDimensionY() const =0
Return the y half-sizes of the detection element.
virtual AliMp::StationType StationType() const =0
Return the station type.
virtual Double_t GetPositionY() const =0
Return the y position of the origin of the detection element.
A placed motif.
virtual Int_t MaxPadIndexY() const =0
Return maximum pad index in Y direction.
virtual AliMpVPadIterator * CreateIterator() const =0
Create a pad iterator over the whole area.
An interface for an iterator over pads.
virtual Double_t GetDimensionX() const =0
Return the x half-sizes of the detection element.
virtual AliMpPad PadByPosition(Double_t x, Double_t y, Bool_t warning=true) const =0
Find pad by position.
virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const
Return true if the pad with given location exists.
The abstract base class for the segmentation.
virtual Int_t MaxPadIndexX() const =0
Return maximum pad index in X direction.
virtual Int_t GetNeighbours(const AliMpPad &pad, TObjArray &neighbours, Bool_t includeSelf=kFALSE, Bool_t includeVoid=kFALSE) const =0
Class which encapsuate all information about a pad.
Definition: AliMpPad.h:22
virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning=true) const =0
Find pad by location.
virtual Double_t GetPositionX() const =0
Return the x position of the origin of the detection element.
virtual void GetAllElectronicCardIDs(TArrayI &ecn) const =0
Fill the given array with the electronic card IDs.