]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONLocalTrigger.h
Raw2Digits method implementation (Indranil & Christian)
[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
10#include <TObject.h>
2be06f1e 11#include <TArrayI.h>
a9e2aefa 12
13class AliMUONLocalTrigger : public TObject {
14 public:
402fb06e 15 AliMUONLocalTrigger();
d694b6f6 16 AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
2be06f1e 17 AliMUONLocalTrigger(const Int_t* localtr, const TArrayI& digits);
402fb06e 18 virtual ~AliMUONLocalTrigger(){;}
d694b6f6 19 AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs);
e9b63742 20
ce6a659c 21 // getter methods
b8fdc4dd 22 Int_t LoCircuit() const {return fLoCircuit;}
23 Int_t LoStripX() const {return fLoStripX;}
24 Int_t LoDev() const {return fLoDev;}
25 Int_t LoStripY() const {return fLoStripY;}
26 Int_t LoLpt() const {return fLoLpt;}
27 Int_t LoHpt() const {return fLoHpt;}
28 Int_t LoApt() const {return fLoApt;}
402fb06e 29
6dc7fcdf 30
31 UShort_t GetX1Pattern() const {return fX1Pattern;}
32 UShort_t GetX2Pattern() const {return fX2Pattern;}
33 UShort_t GetX3Pattern() const {return fX3Pattern;}
34 UShort_t GetX4Pattern() const {return fX4Pattern;}
35
36 UShort_t GetY1Pattern() const {return fY1Pattern;}
37 UShort_t GetY2Pattern() const {return fY2Pattern;}
38 UShort_t GetY3Pattern() const {return fY3Pattern;}
39 UShort_t GetY4Pattern() const {return fY4Pattern;}
40
41 Char_t GetLoDecision();
42
ce6a659c 43 // setter methods
44 void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
45 void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}
46 void SetLoDev(Int_t loDev) {fLoDev = loDev;}
47 void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
48 void SetLoLpt(Int_t loLpt) {fLoLpt = loLpt;}
49 void SetLoHpt(Int_t loHpt) {fLoHpt = loHpt;}
50 void SetLoApt(Int_t loApt) {fLoApt = loApt;}
51
52 void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
53 void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
54 void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
55 void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
56
57 void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
58 void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
59 void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
60 void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
61
62 // data link
b8fdc4dd 63 Int_t NumberOfDigits() const { return fDigits.GetSize(); }
d8e8484f 64 Int_t GetDigitNumber(Int_t i) const { return fDigits[i]; }
65 void GetDigit(Int_t i, Int_t& chamber, Int_t& cathode, Int_t& digit) const;
2be06f1e 66
d8e8484f 67 static Int_t EncodeDigitNumber(Int_t chamber, Int_t cathode, Int_t digit);
68 static void DecodeDigitNumber(Int_t digitnumber, Int_t& chamber, Int_t& cathode, Int_t& digit);
2be06f1e 69
402fb06e 70private:
a9e2aefa 71 Int_t fLoCircuit; // circuit number
72 Int_t fLoStripX; // X strip in MT11
73 Int_t fLoDev; // deviation
74 Int_t fLoStripY; // Y strip in MT11
75 Int_t fLoLpt; // Low pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
76 Int_t fLoHpt; // High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
77 Int_t fLoApt; // All pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
6dc7fcdf 78
79 UShort_t fX1Pattern; // X and Y strip pattern for each chamber
80 UShort_t fX2Pattern;
81 UShort_t fX3Pattern;
82 UShort_t fX4Pattern;
83
84 UShort_t fY1Pattern;
85 UShort_t fY2Pattern;
86 UShort_t fY3Pattern;
87 UShort_t fY4Pattern;
88
89 Char_t fLoDecision; // local decision word (4 bits)
2be06f1e 90
91 TArrayI fDigits; // List of digit numbers from which this object was created.
b8fdc4dd 92
93 ClassDef(AliMUONLocalTrigger,2) // reconstructed Local Trigger object
a9e2aefa 94};
95#endif
96
97
98
99
100
101