Fixing a backward compatibility issue
[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.8 2006/05/24 13:58:27 ivana Exp $
6
7 /// \ingroup mptrigger
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, Bool_t own = false);
37   virtual ~AliMpTriggerSegmentation();
38   
39   virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
40   virtual AliMpVPadIterator* CreateIterator() const;
41   virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
42                               Bool_t includeSelf=kFALSE,
43                               Bool_t includeVoid=kFALSE) const;
44   const char* GetName() const;
45   
46   Int_t MaxPadIndexX() const;
47   Int_t MaxPadIndexY() const;
48   Int_t NofPads() const { return fNofStrips; }
49     
50   virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, 
51                                  Bool_t warning) const;
52   
53   virtual AliMpPad PadByIndices(Int_t ix, Int_t iy,  
54                                 Bool_t warning) const;
55   
56   virtual AliMpPad PadByPosition(Double_t x, Double_t y,
57                                  Bool_t warning) const;
58   
59   const AliMpTrigger* Slat() const;
60    
61   virtual void GetAllElectronicCardIDs(TArrayI& ecn) const;
62   
63   virtual AliMp::PlaneType PlaneType() const;
64    
65   virtual AliMp::StationType StationType() const;
66  
67   virtual Double_t  GetDimensionX() const;
68   virtual Double_t  GetDimensionY() const;
69   
70   virtual Int_t GetNofElectronicCards() const;
71   
72   virtual Double_t  GetPositionX() const;
73   virtual Double_t  GetPositionY() const;
74   
75   virtual Bool_t HasMotifPosition(Int_t manuId) const;
76   
77   virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
78   
79 private:
80   /// Not implemented
81   AliMpTriggerSegmentation(const AliMpTriggerSegmentation& right);
82   /// Not implemented
83   AliMpTriggerSegmentation&  operator = (const AliMpTriggerSegmentation& right);
84   
85   const AliMpTrigger* fkSlat;  ///< Slat
86   Bool_t              fIsOwner;///< Trigger slat ownership     
87   Int_t fNofStrips; ///< Number of strips in this slat
88
89   ClassDef(AliMpTriggerSegmentation,3) // Segmentation for slat trigger stations
90 };
91
92 /// Return station type
93 inline AliMp::StationType AliMpTriggerSegmentation::StationType() const
94 { return AliMp::kStationTrigger; }
95
96
97 #endif