]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpSlatSegmentation.h
Additional protection and warning message.
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSlatSegmentation.h
CommitLineData
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
33class AliMpMotifPosition;
34class AliMpPCB;
35class AliMpSlat;
36
37class 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