Line data Source code
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 0 : 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 1458 : ClassDef(AliMpTriggerSegmentation,3) // Segmentation for slat trigger stations
90 : };
91 :
92 : /// Return station type
93 : inline AliMp::StationType AliMpTriggerSegmentation::StationType() const
94 1368 : { return AliMp::kStationTrigger; }
95 :
96 :
97 : #endif
|