1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
5 // $MpId: AliMpSlatSegmentation.h,v 1.4 2005/09/19 19:01:09 ivana Exp $
8 /// \class AliMpSlatSegmentation
9 /// \brief Implementation of AliMpVSegmentation for St345 slats.
11 /// Note that integer indices start at (0,0) on the bottom-left of the slat,
12 /// while floating point positions are relative to the center of the slat
13 /// (where the slat is to be understood as N PCBs of fixed size = 40cm
14 /// even if not all pads of a given PCBs are actually physically there).
16 /// Author: Laurent Aphecetche
18 #ifndef ALI_MP_SLAT_SEGMENTATION_H
19 #define ALI_MP_SLAT_SEGMENTATION_H
25 #ifndef ALI_MP_V_SEGMENTATION_H
26 #include "AliMpVSegmentation.h"
33 class AliMpMotifPosition;
37 class AliMpSlatSegmentation : public AliMpVSegmentation
40 AliMpSlatSegmentation();
41 AliMpSlatSegmentation(const AliMpSlat* slat);
42 virtual ~AliMpSlatSegmentation();
44 virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
46 const char* GetName() const;
48 Bool_t HasPad(const AliMpIntPair& indices) const;
53 virtual AliMpPad PadByLocation(const AliMpIntPair& location,
54 Bool_t warning) const;
56 virtual AliMpPad PadByIndices(const AliMpIntPair& indices,
57 Bool_t warning) const;
59 virtual AliMpPad PadByPosition(const TVector2& position,
60 Bool_t warning) const;
62 const AliMpSlat* Slat() const;
65 const AliMpSlat* fkSlat; // Slat
67 ClassDef(AliMpSlatSegmentation,1) // A slat for stations 3,4,5