]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpLocalBoard.h
Updated RecParam calibration object
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpLocalBoard.h
CommitLineData
4fb5ef65 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: AliMpManuGeo.h,v 1.5 2006/05/24 13:58:16 ivana Exp $
6
7/// \ingroup management
8/// \class AliMpLocalBoard
9/// \brief Class that manages the properties of the local board
10///
11/// \author Ch. Finck; Subatech Nantes
12
13#ifndef ALI_MP_LOCAL_BOARD_H
14#define ALI_MP_LOCAL_BOARD_H
15
16#include <TNamed.h>
17
18#include "AliMpArrayI.h"
19
20class TString;
21
22class AliMpLocalBoard : public TNamed
23{
24
25 public:
26 AliMpLocalBoard(Int_t id, const Char_t* name, Int_t slot);
27 AliMpLocalBoard(TRootIOCtor* /*ioCtor*/);
28 virtual ~AliMpLocalBoard();
29
30 // detElem
31 Bool_t AddDE(Int_t detElemId);
32 Int_t GetNofDEs() const;
33 Int_t GetDEId(Int_t index) const;
34 Int_t GetDEIdByChamber(Int_t chamberId) const;
35 Bool_t HasDEId(Int_t detElemId) const;
36
37 // get methods
38 //
39 /// Return the identifier (unique)
40 Int_t GetId() const {return fId;}
41 /// Return the slot Identifier in the given crate
42 Int_t GetSlot() const {return fSlot;}
43
44 // Switches
45 //
46 Bool_t AddSwitch(Int_t swit);
47 Int_t GetNofSwitches() const;
48 Int_t GetSwitch(Int_t index) const;
49
354e70ca 50 // switch enum for local board (see PRR, chpt: 2.4.4)
51 enum {kX2d, kX2m, kX2u, ///< (1) indicate a change of strip pitch in Y circuit
52 kOR0, kOR1, ///< taking into account the different segmentation in Y from MT1 to MT2
53 kENY, ///< (0) enable communication in Y to n+/-1 board via tranverse connector, (1) disable
54 kZeroAllYLSB,///< (1) reset the LSB for special configuration of board RC2L5B4 & RC2L6B1
55 kZeroDown, ///< (0) information is expected from n-1 board for X input, (1) not
56 kZeroMiddle, ///< (0) always, not used
57 kZeroUp }; ///< (0) information is expected from n+1 board for X input, (1) not
4fb5ef65 58
59 // Transverse connector
60 //
61 /// Set transverse connector
62 void SetTC(Bool_t connect) {fTC = connect;}
63 /// Return transverse connector
64 Bool_t GetTC() const {return fTC;}
65
66 // Crate name
67 //
68 /// Set crate name
69 void SetCrate(TString name) {fCrate = name;}
70 /// Return crate name
71 TString GetCrate() const {return fCrate;}
72
73 // Notify
74 //
75 /// Set notified flag (not copy card)
76 void SetNotified(Bool_t notify) {fNotified = notify;}
77 /// Return notified flag (not copy card)
78 Bool_t IsNotified() const {return fNotified;}
79
80 // given position (line, col)
81 AliMpIntPair GetPosition() const;
82
354e70ca 83 // Id to be copy to or from
a335a844 84
85 /// Get Id from where the X input are copied
354e70ca 86 Int_t GetInputXfrom() {return fInputXfrom;}
a335a844 87 /// Get Id to where the X input are copied
354e70ca 88 Int_t GetInputXto() {return fInputXto;}
a335a844 89 /// Get Id from where the Y input are copied
354e70ca 90 Int_t GetInputYfrom() {return fInputYfrom;}
a335a844 91 /// Get Id to where the Y input are copied
354e70ca 92 Int_t GetInputYto() {return fInputYto;}
93
a335a844 94 /// Set Id from where the X input are copied
354e70ca 95 void SetInputXfrom(Int_t id) {fInputXfrom = id;}
a335a844 96 /// Set Id to where the X input are copied
354e70ca 97 void SetInputXto(Int_t id) {fInputXto = id;}
a335a844 98 /// Set Id from where the Y input are copied
354e70ca 99 void SetInputYfrom(Int_t id) {fInputYfrom = id;}
a335a844 100 /// Set Id to where the Y input are copied
354e70ca 101 void SetInputYto(Int_t id) {fInputYto = id;}
4fb5ef65 102
103 private:
104 /// Not implemented
105 AliMpLocalBoard();
106 /// Not implemented
107 AliMpLocalBoard(const AliMpLocalBoard& src);
108 /// Not implemented
109 AliMpLocalBoard& operator = (const AliMpLocalBoard& src) ;
110
111 Int_t GetIndex(Int_t chamberId) const;
112
113 Int_t fId; ///< Identifier (unique)
114 Int_t fSlot; ///< Slot Identifier in the given crate
115
116 Bool_t fTC; ///< Transverse connector
117 TString fCrate; ///< Crate name
118 AliMpArrayI fSwitches; ///< switches
119 Bool_t fNotified; ///< notified flag (not copy card)
354e70ca 120 AliMpArrayI fDEId; ///< list of Detection element to which this local board is connected
121 Int_t fInputXfrom;///< local id of x3-4 inputs copied from (zero: not copied)
122 Int_t fInputXto; ///< local id of x3-4 inputs copied to (zero: not copied)
123 Int_t fInputYfrom;///< local id of y1-4 inputs copied from (zero: not copied)
124 Int_t fInputYto; ///< local id of y1-4 inputs copied to (zero: not copied)
4fb5ef65 125
126 ClassDef(AliMpLocalBoard,1) //utility class for the motif type
127};
128
129
130#endif