]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpTriggerSegmentation.h
888d8f61c67302b0b42b200817768b8d69c04922
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpTriggerSegmentation.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice                               */
3
4 // $Id$
5 // $MpId: AliMpTriggerSegmentation.h,v 1.5 2006/03/17 16:42:36 ivana Exp $
6
7 /// \ingroup trigger
8 /// \class AliMpTriggerSegmentation
9 /// \brief Implementation of AliMpVSegmentation for trigger slats.
10 /// 
11 /// Author: Laurent Aphecetche
12
13 #ifndef ALI_MP_TRIGGER_SEGMENTATION_H
14 #define ALI_MP_TRIGGER_SEGMENTATION_H
15
16 #ifndef ROOT_TString
17 #include "TString.h"
18 #endif
19
20 #ifndef ALI_MP_V_SEGMENTATION_H
21 #include "AliMpVSegmentation.h"
22 #endif
23
24 #ifndef ALI_MP_PAD_H
25 #include "AliMpPad.h"
26 #endif
27
28 class AliMpMotifPosition;
29 class AliMpPCB;
30 class AliMpTrigger;
31
32 class AliMpTriggerSegmentation : public AliMpVSegmentation
33 {
34 public:
35   AliMpTriggerSegmentation();
36   AliMpTriggerSegmentation(const AliMpTrigger* slat);
37   virtual ~AliMpTriggerSegmentation();
38   
39   virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
40   
41   const char* GetName() const;
42   
43   Bool_t HasPad(const AliMpIntPair& indices) const;
44   
45   Int_t MaxPadIndexX() const;
46   Int_t MaxPadIndexY() const;
47   Int_t NofPads() const { return fNofStrips; }
48     
49   virtual AliMpPad PadByLocation(const AliMpIntPair& location, 
50                                  Bool_t warning) const;
51   
52   virtual AliMpPad PadByIndices(const AliMpIntPair& indices,  
53                                 Bool_t warning) const;
54   
55   virtual AliMpPad PadByPosition(const TVector2& position,
56                                  Bool_t warning) const;
57   
58   const AliMpTrigger* Slat() const;
59    
60   virtual void GetAllElectronicCardIDs(TArrayI& ecn) const;
61   
62   AliMpPlaneType PlaneType() const;
63   
64   TVector2 Dimensions() const;
65   
66 protected:
67   AliMpTriggerSegmentation(const AliMpTriggerSegmentation& right);
68   AliMpTriggerSegmentation&  operator = (const AliMpTriggerSegmentation& right);
69      
70 private:
71     const AliMpTrigger* fkSlat; // Slat
72   Int_t fNofStrips; // Number of strips in this slat
73   ClassDef(AliMpTriggerSegmentation,2) // Segmentation for slat trigger stations
74 };
75
76 #endif