Implementation of trigger response re-calculation with a 4/4 coincidence or after...
[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
c1975ba7 10/// \ingroup trigger
692de412 11/// \class AliMUONLocalTrigger
12/// \brief Reconstructed Local Trigger object
5398f946 13// Author Ph. Crochet
692de412 14
a9e2aefa 15#include <TObject.h>
a026ce9e 16#include "AliMUONRawStreamTriggerHP.h"
a9e2aefa 17
8d7dfec2 18class AliMUONLocalStruct;
89976fde 19class TArrayS;
8d7dfec2 20
a9e2aefa 21class AliMUONLocalTrigger : public TObject {
22 public:
402fb06e 23 AliMUONLocalTrigger();
d694b6f6 24 AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
71a2d3aa 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;}
8aac6cce 36 /// Return Sign of Deviation
37 Int_t LoSdev() const {return fLoSdev;}
38 /// Return Trig Y
39 Int_t LoTrigY() const {return fLoTrigY;}
5398f946 40 /// Return Y strip in MT11
b8fdc4dd 41 Int_t LoStripY() const {return fLoStripY;}
5398f946 42 /// Return Low pt
b8fdc4dd 43 Int_t LoLpt() const {return fLoLpt;}
5398f946 44 /// Return High p
b8fdc4dd 45 Int_t LoHpt() const {return fLoHpt;}
4a69b40c 46
5398f946 47 /// Return X strip pattern for chamber 11
6dc7fcdf 48 UShort_t GetX1Pattern() const {return fX1Pattern;}
5398f946 49 /// Return X strip pattern for chamber 12
6dc7fcdf 50 UShort_t GetX2Pattern() const {return fX2Pattern;}
5398f946 51 /// Return X strip pattern for chamber 21
6dc7fcdf 52 UShort_t GetX3Pattern() const {return fX3Pattern;}
5398f946 53 /// Return X strip pattern for chamber 22
6dc7fcdf 54 UShort_t GetX4Pattern() const {return fX4Pattern;}
9016450b 55 /// return X pattern array
56 void GetXPattern(TArrayS& array) const;
57
6dc7fcdf 58
5398f946 59 /// Return Y strip pattern for chamber 11
6dc7fcdf 60 UShort_t GetY1Pattern() const {return fY1Pattern;}
5398f946 61 /// Return Y strip pattern for chamber 12
6dc7fcdf 62 UShort_t GetY2Pattern() const {return fY2Pattern;}
5398f946 63 /// Return Y strip pattern for chamber 21
6dc7fcdf 64 UShort_t GetY3Pattern() const {return fY3Pattern;}
5398f946 65 /// Return Y strip pattern for chamber 22
6dc7fcdf 66 UShort_t GetY4Pattern() const {return fY4Pattern;}
9016450b 67 /// return Y pattern array
68 void GetYPattern(TArrayS& array) const;
6dc7fcdf 69
89976fde 70 Char_t GetLoDecision() const;
d72d7b9e 71
d72d7b9e 72 Int_t GetDeviation() const;
5a240757 73 void SetDeviation(Int_t deviation);
d72d7b9e 74
75 /// Trigger response X strips
76 Bool_t IsTrigX();
77 /// Trigger response Y strips
78 Bool_t IsTrigY();
6dc7fcdf 79
ce6a659c 80 // setter methods
5398f946 81 //
82 /// Set Circuit number
ce6a659c 83 void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
5398f946 84 /// Set X strip in MT11
ce6a659c 85 void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}
5398f946 86 /// Set Deviation
ce6a659c 87 void SetLoDev(Int_t loDev) {fLoDev = loDev;}
8aac6cce 88 /// Set Sign of Deviation
89 void SetLoSdev(Int_t loSdev) {fLoSdev = loSdev;}
90 /// Set Trig Y
91 void SetLoTrigY(Int_t loTrigY) {fLoTrigY = loTrigY;}
5398f946 92 /// Set Y strip in MT11
ce6a659c 93 void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
5398f946 94 /// Set Low pt
ce6a659c 95 void SetLoLpt(Int_t loLpt) {fLoLpt = loLpt;}
5398f946 96 /// Set High pt
ce6a659c 97 void SetLoHpt(Int_t loHpt) {fLoHpt = loHpt;}
94d65ea1 98
5398f946 99 /// Set X strip pattern for chamber 11
ce6a659c 100 void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
5398f946 101 /// Set X strip pattern for chamber 12
ce6a659c 102 void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
5398f946 103 /// Set X strip pattern for chamber 21
ce6a659c 104 void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
5398f946 105 /// Set X strip pattern for chamber 22
ce6a659c 106 void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
107
5398f946 108 /// Set Y strip pattern for chamber 11
ce6a659c 109 void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
5398f946 110 /// Set Y strip pattern for chamber 12
ce6a659c 111 void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
5398f946 112 /// Set Y strip pattern for chamber 21
ce6a659c 113 void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
5398f946 114 /// Set Y strip pattern for chamber 22
ce6a659c 115 void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
116
8d7dfec2 117 void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
a026ce9e 118 void SetLocalStruct(Int_t loCircuit, const AliMUONRawStreamTriggerHP::AliLocalStruct& localStruct);
8d7dfec2 119
89976fde 120 Bool_t IsNull() const;
121
eba3379e 122 virtual void Print(Option_t* opt="") const;
123
89976fde 124 virtual const char* GetName() const;
125
402fb06e 126private:
18b6b8c7 127 Int_t fLoCircuit; ///< Circuit number
128 Int_t fLoStripX; ///< X strip in MT11
8aac6cce 129 Int_t fLoDev; ///< Deviation
130 Int_t fLoSdev; ///< Sign of Deviation
131 Int_t fLoTrigY; ///< Trig Y
18b6b8c7 132 Int_t fLoStripY; ///< Y strip in MT11
133 Int_t fLoLpt; ///< Low pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
134 Int_t fLoHpt; ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
94d65ea1 135
18b6b8c7 136 UShort_t fX1Pattern; ///< X strip pattern for chamber 11
137 UShort_t fX2Pattern; ///< X strip pattern for chamber 12
138 UShort_t fX3Pattern; ///< X strip pattern for chamber 21
139 UShort_t fX4Pattern; ///< X strip pattern for chamber 22
8d7dfec2 140
18b6b8c7 141 UShort_t fY1Pattern; ///< Y strip pattern for chamber 11
142 UShort_t fY2Pattern; ///< Y strip pattern for chamber 12
143 UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
144 UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
6dc7fcdf 145
89976fde 146 ClassDef(AliMUONLocalTrigger,4) // reconstructed Local Trigger object
a9e2aefa 147};
148#endif
149
150
151
152
153
154