* See cxx source for full Copyright notice */
// $Id$
-// $MpId: AliMpVSegmentation.h,v 1.6 2005/08/26 15:43:36 ivana Exp $
+// $MpId: AliMpVSegmentation.h,v 1.12 2006/05/24 13:58:07 ivana Exp $
/// \ingroup basic
/// \class AliMpVSegmentation
/// conversion between pad indices, pad location, pad position;
/// finding pad neighbour.
///
-/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
+/// \author David Guez, Ivana Hrivnacova; IPN Orsay
#ifndef ALI_MP_V_SEGMENTATION_H
#define ALI_MP_V_SEGMENTATION_H
#include "AliMpPadPair.h"
#include "AliMpPad.h"
-
-class TVector2;
+#include "AliMpPlaneType.h"
class AliMpVPadIterator;
class AliMpIntPair;
class AliMpArea;
+class TArrayI;
+class TVector2;
+
class AliMpVSegmentation : public TObject
{
public:
// methods
virtual AliMpPad PadByLocation(const AliMpIntPair& location,
- Bool_t warning) const = 0;
+ Bool_t warning = true) const = 0;
virtual AliMpPad PadByIndices (const AliMpIntPair& indices,
- Bool_t warning) const = 0;
+ Bool_t warning = true) const = 0;
virtual AliMpPad PadByPosition(const TVector2& position,
- Bool_t warning) const = 0;
+ Bool_t warning = true) const = 0;
virtual AliMpPadPair PadsUp(const AliMpPad& pad) const;
virtual AliMpPadPair PadsDown(const AliMpPad& pad) const;
virtual AliMpPadPair PadsLeft(const AliMpPad& pad) const;
virtual AliMpPadPair PadsRight(const AliMpPad& pad) const;
- virtual Int_t MaxPadIndexX() = 0;
- virtual Int_t MaxPadIndexY() = 0;
+ virtual Int_t MaxPadIndexX() const = 0;
+ virtual Int_t MaxPadIndexY() const = 0;
+ virtual Int_t NofPads() const = 0;
virtual Bool_t HasPad(const AliMpIntPair& indices) const = 0;
+ virtual void GetAllElectronicCardIDs(TArrayI& ecn) const = 0;
+
+ virtual AliMpPlaneType PlaneType() const = 0;
+
+ /// Gives the half-sizes (in cm) of the underlying detection element.
+ virtual TVector2 Dimensions() const = 0;
+
private:
// methods
AliMpPadPair FindPads(const TVector2& position1,