]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONLocalTrigger.h
hardcoded detector position; bug in alignment pth fixed
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalTrigger.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONLOCALTRIGGER_H
2#define ALIMUONLOCALTRIGGER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
30178c30 7/* $Id$ */
8// Revision of includes 07/05/2004
a9e2aefa 9
692de412 10/// \ingroup base
11/// \class AliMUONLocalTrigger
12/// \brief Reconstructed Local Trigger object
5398f946 13// Author Ph. Crochet
692de412 14
a9e2aefa 15#include <TObject.h>
2be06f1e 16#include <TArrayI.h>
a9e2aefa 17
8d7dfec2 18class AliMUONLocalStruct;
19
a9e2aefa 20class AliMUONLocalTrigger : public TObject {
21 public:
402fb06e 22 AliMUONLocalTrigger();
d694b6f6 23 AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
2be06f1e 24 AliMUONLocalTrigger(const Int_t* localtr, const TArrayI& digits);
402fb06e 25 virtual ~AliMUONLocalTrigger(){;}
d694b6f6 26 AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs);
e9b63742 27
ce6a659c 28 // getter methods
5398f946 29 //
30 /// Return Circuit number
b8fdc4dd 31 Int_t LoCircuit() const {return fLoCircuit;}
5398f946 32 /// Return X strip in MT11
b8fdc4dd 33 Int_t LoStripX() const {return fLoStripX;}
5398f946 34 /// Return Deviation
b8fdc4dd 35 Int_t LoDev() const {return fLoDev;}
5398f946 36 /// Return Y strip in MT11
b8fdc4dd 37 Int_t LoStripY() const {return fLoStripY;}
5398f946 38 /// Return Low pt
b8fdc4dd 39 Int_t LoLpt() const {return fLoLpt;}
5398f946 40 /// Return High p
b8fdc4dd 41 Int_t LoHpt() const {return fLoHpt;}
5398f946 42 /// Return All pt
b8fdc4dd 43 Int_t LoApt() const {return fLoApt;}
402fb06e 44
5398f946 45 /// Return X strip pattern for chamber 11
6dc7fcdf 46 UShort_t GetX1Pattern() const {return fX1Pattern;}
5398f946 47 /// Return X strip pattern for chamber 12
6dc7fcdf 48 UShort_t GetX2Pattern() const {return fX2Pattern;}
5398f946 49 /// Return X strip pattern for chamber 21
6dc7fcdf 50 UShort_t GetX3Pattern() const {return fX3Pattern;}
5398f946 51 /// Return X strip pattern for chamber 22
6dc7fcdf 52 UShort_t GetX4Pattern() const {return fX4Pattern;}
53
5398f946 54 /// Return Y strip pattern for chamber 11
6dc7fcdf 55 UShort_t GetY1Pattern() const {return fY1Pattern;}
5398f946 56 /// Return Y strip pattern for chamber 12
6dc7fcdf 57 UShort_t GetY2Pattern() const {return fY2Pattern;}
5398f946 58 /// Return Y strip pattern for chamber 21
6dc7fcdf 59 UShort_t GetY3Pattern() const {return fY3Pattern;}
5398f946 60 /// Return Y strip pattern for chamber 22
6dc7fcdf 61 UShort_t GetY4Pattern() const {return fY4Pattern;}
62
63 Char_t GetLoDecision();
64
ce6a659c 65 // setter methods
5398f946 66 //
67 /// Set Circuit number
ce6a659c 68 void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
5398f946 69 /// Set X strip in MT11
ce6a659c 70 void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}
5398f946 71 /// Set Deviation
ce6a659c 72 void SetLoDev(Int_t loDev) {fLoDev = loDev;}
5398f946 73 /// Set Y strip in MT11
ce6a659c 74 void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
5398f946 75 /// Set Low pt
ce6a659c 76 void SetLoLpt(Int_t loLpt) {fLoLpt = loLpt;}
5398f946 77 /// Set High pt
ce6a659c 78 void SetLoHpt(Int_t loHpt) {fLoHpt = loHpt;}
5398f946 79 /// Set All pt
ce6a659c 80 void SetLoApt(Int_t loApt) {fLoApt = loApt;}
81
5398f946 82 /// Set X strip pattern for chamber 11
ce6a659c 83 void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
5398f946 84 /// Set X strip pattern for chamber 12
ce6a659c 85 void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
5398f946 86 /// Set X strip pattern for chamber 21
ce6a659c 87 void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
5398f946 88 /// Set X strip pattern for chamber 22
ce6a659c 89 void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
90
5398f946 91 /// Set Y strip pattern for chamber 11
ce6a659c 92 void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
5398f946 93 /// Set Y strip pattern for chamber 12
ce6a659c 94 void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
5398f946 95 /// Set Y strip pattern for chamber 21
ce6a659c 96 void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
5398f946 97 /// Set Y strip pattern for chamber 22
ce6a659c 98 void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
99
8d7dfec2 100 void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
101
ce6a659c 102 // data link
5398f946 103 //
104 /// Return number of digits in the list
b8fdc4dd 105 Int_t NumberOfDigits() const { return fDigits.GetSize(); }
5398f946 106 /// Return \a i th digit number in the list
d8e8484f 107 Int_t GetDigitNumber(Int_t i) const { return fDigits[i]; }
8d7dfec2 108 void GetDigit(Int_t i, Int_t& chamber, Int_t& cathode, Int_t& digit) const;
2be06f1e 109
d8e8484f 110 static Int_t EncodeDigitNumber(Int_t chamber, Int_t cathode, Int_t digit);
8d7dfec2 111 static void DecodeDigitNumber(Int_t digitnumber, Int_t& chamber, Int_t& cathode, Int_t& digit);
2be06f1e 112
1908473e 113 void SetDigits(const TArrayI& digits) {fDigits = digits;}
114
eba3379e 115 virtual void Print(Option_t* opt="") const;
116
402fb06e 117private:
18b6b8c7 118 Int_t fLoCircuit; ///< Circuit number
119 Int_t fLoStripX; ///< X strip in MT11
120 Int_t fLoDev; ///< Deviation
121 Int_t fLoStripY; ///< Y strip in MT11
122 Int_t fLoLpt; ///< Low pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
123 Int_t fLoHpt; ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
124 Int_t fLoApt; ///< All pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
6dc7fcdf 125
18b6b8c7 126 UShort_t fX1Pattern; ///< X strip pattern for chamber 11
127 UShort_t fX2Pattern; ///< X strip pattern for chamber 12
128 UShort_t fX3Pattern; ///< X strip pattern for chamber 21
129 UShort_t fX4Pattern; ///< X strip pattern for chamber 22
8d7dfec2 130
18b6b8c7 131 UShort_t fY1Pattern; ///< Y strip pattern for chamber 11
132 UShort_t fY2Pattern; ///< Y strip pattern for chamber 12
133 UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
134 UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
6dc7fcdf 135
8d7dfec2 136
18b6b8c7 137 Char_t fLoDecision; ///< Local decision word (4 bits)
2be06f1e 138
18b6b8c7 139 TArrayI fDigits; ///< List of digit numbers from which this object was created.
b8fdc4dd 140
141 ClassDef(AliMUONLocalTrigger,2) // reconstructed Local Trigger object
a9e2aefa 142};
143#endif
144
145
146
147
148
149