AliRoot Core  d69033e (d69033e)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMpSlatSegmentation.h
Go to the documentation of this file.
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: AliMpSlatSegmentation.h,v 1.12 2006/05/24 13:58:24 ivana Exp $
6 
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 
38 {
39  public:
41  AliMpSlatSegmentation(const AliMpSlat* slat, Bool_t own = false);
42  virtual ~AliMpSlatSegmentation();
43 
44  virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
45  virtual AliMpVPadIterator* CreateIterator() const;
46 
47  virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
48  Bool_t includeSelf=kFALSE,
49  Bool_t includeVoid=kFALSE) const;
50 
51  const char* GetName() const;
52 
53  Int_t MaxPadIndexX() const;
54  Int_t MaxPadIndexY() const;
55  Int_t NofPads() const;
56 
57  virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel,
58  Bool_t warning) const;
59 
60  virtual AliMpPad PadByIndices(Int_t ix, Int_t iy,
61  Bool_t warning) const;
62 
63  virtual AliMpPad PadByPosition(Double_t x, Double_t y,
64  Bool_t warning) const;
65 
66  virtual void Print(Option_t* opt) const;
67 
68  const AliMpSlat* Slat() const;
69 
70  void GetAllElectronicCardIDs(TArrayI& ecn) const;
71 
72  virtual AliMp::PlaneType PlaneType() const;
73 
74  virtual AliMp::StationType StationType() const;
75 
76  virtual Double_t GetDimensionX() const;
77  virtual Double_t GetDimensionY() const;
78 
79  virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const;
80 
81  virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const;
82 
83  virtual Int_t GetNofElectronicCards() const;
84 
85  virtual Double_t GetPositionX() const;
86  virtual Double_t GetPositionY() const;
87 
88  virtual Bool_t HasMotifPosition(Int_t manuId) const;
89 
90  virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
91 
92  private:
97 
98  const AliMpSlat* fkSlat;
99  Bool_t fIsOwner;
100 
101  ClassDef(AliMpSlatSegmentation,2) // A slat for stations 3,4,5
102 };
103 
106 { return AliMp::kStation345; }
107 
108 #endif
const AliMpSlat * Slat() const
virtual void Print(Option_t *opt) const
const AliMpSlat * fkSlat
Slat.
const char * GetName() const
#define TObjArray
virtual Int_t GetNofElectronicCards() const
Get the number of electronic card IDs.
Int_t MaxPadIndexX() const
Return maximum pad index in X direction.
virtual AliMp::PlaneType PlaneType() const
Return the plane type.
station 3,4,5 (slats)
A PCB for station 3,4 or 5.
Definition: AliMpPCB.h:46
virtual AliMpPad PadByIndices(Int_t ix, Int_t iy, Bool_t warning) const
Find pad by indices.
A rectangle area positioned in plane..
Definition: AliMpArea.h:20
virtual Int_t GetNeighbours(const AliMpPad &pad, TObjArray &neighbours, Bool_t includeSelf=kFALSE, Bool_t includeVoid=kFALSE) const
AliMpSlatSegmentation & operator=(const AliMpSlatSegmentation &right)
Not implemented.
A slat (building block of stations 3, 4 and 5)
Definition: AliMpSlat.h:51
virtual Double_t GetPositionY() const
Return the y position of the origin of the detection element.
virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning) const
Find pad by location.
A placed motif.
virtual AliMp::StationType StationType() const
Return station type.
An interface for an iterator over pads.
virtual AliMpVPadIterator * CreateIterator() const
Create a pad iterator over the whole area.
Int_t MaxPadIndexY() const
Return maximum pad index in Y direction.
virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const
Return true if the pad with given location exists.
Bool_t fIsOwner
Slat ownership.
virtual Bool_t HasMotifPosition(Int_t manuId) const
Whether or not we have a given manu.
virtual Double_t GetPositionX() const
Return the x position of the origin of the detection element.
Implementation of AliMpVSegmentation for St345 slats.
Int_t NofPads() const
Return the number of pads in the detection element.
void GetAllElectronicCardIDs(TArrayI &ecn) const
Fill the given array with the electronic card IDs.
The abstract base class for the segmentation.
virtual AliMpPad PadByPosition(Double_t x, Double_t y, Bool_t warning) const
Find pad by position.
Class which encapsuate all information about a pad.
Definition: AliMpPad.h:22
virtual Double_t GetDimensionX() const
Return the x half-sizes of the detection element.
virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const
virtual AliMpMotifPosition * MotifPosition(Int_t manuId) const
Return the position of a given manu (aka motifPosition)
virtual Double_t GetDimensionY() const
Return the y half-sizes of the detection element.