]>
Commit | Line | Data |
---|---|---|
dee1d5f1 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3 | ||
4 | // $Id$ | |
63bcb3c3 | 5 | // $MpId: AliMpSlatSegmentation.h,v 1.7 2006/03/02 16:35:16 ivana Exp $ |
dee1d5f1 | 6 | |
7 | /// \ingroup slat | |
8 | /// \class AliMpSlatSegmentation | |
9 | /// \brief Implementation of AliMpVSegmentation for St345 slats. | |
10 | /// | |
1964cd2e | 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). | |
15 | /// | |
dee1d5f1 | 16 | /// Author: Laurent Aphecetche |
17 | ||
18 | #ifndef ALI_MP_SLAT_SEGMENTATION_H | |
19 | #define ALI_MP_SLAT_SEGMENTATION_H | |
20 | ||
21 | #ifndef ROOT_TString | |
22 | #include "TString.h" | |
23 | #endif | |
24 | ||
25 | #ifndef ALI_MP_V_SEGMENTATION_H | |
26 | #include "AliMpVSegmentation.h" | |
27 | #endif | |
28 | ||
29 | #ifndef ALI_MP_PAD_H | |
30 | #include "AliMpPad.h" | |
31 | #endif | |
32 | ||
33 | class AliMpMotifPosition; | |
34 | class AliMpPCB; | |
35 | class AliMpSlat; | |
36 | ||
37 | class AliMpSlatSegmentation : public AliMpVSegmentation | |
38 | { | |
39 | public: | |
40 | AliMpSlatSegmentation(); | |
41 | AliMpSlatSegmentation(const AliMpSlat* slat); | |
42 | virtual ~AliMpSlatSegmentation(); | |
43 | ||
44 | virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const; | |
45 | ||
1faed5a9 | 46 | const char* GetName() const; |
47 | ||
48 | Bool_t HasPad(const AliMpIntPair& indices) const; | |
49 | ||
50 | Int_t MaxPadIndexX(); | |
51 | Int_t MaxPadIndexY(); | |
52 | ||
dee1d5f1 | 53 | virtual AliMpPad PadByLocation(const AliMpIntPair& location, |
54 | Bool_t warning) const; | |
55 | ||
56 | virtual AliMpPad PadByIndices(const AliMpIntPair& indices, | |
57 | Bool_t warning) const; | |
58 | ||
59 | virtual AliMpPad PadByPosition(const TVector2& position, | |
60 | Bool_t warning) const; | |
61 | ||
63bcb3c3 | 62 | virtual void Print(Option_t*) const; |
63 | ||
dee1d5f1 | 64 | const AliMpSlat* Slat() const; |
65 | ||
63bcb3c3 | 66 | void GetAllElectronicCardIDs(TArrayI& ecn) const; |
67 | ||
68 | AliMpPlaneType PlaneType() const; | |
69 | ||
70 | TVector2 Dimensions() const; | |
71 | ||
dee1d5f1 | 72 | private: |
73 | const AliMpSlat* fkSlat; // Slat | |
74 | ||
75 | ClassDef(AliMpSlatSegmentation,1) // A slat for stations 3,4,5 | |
76 | }; | |
77 | ||
78 | #endif |