LCOV - code coverage report
Current view: top level - MUON/MUONtrigger - AliMUONLocalTrigger.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 36 37 97.3 %
Date: 2016-06-14 17:26:59 Functions: 37 41 90.2 %

          Line data    Source code
       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             : 
       7             : /* $Id$ */
       8             : // Revision of includes 07/05/2004
       9             : 
      10             : /// \ingroup trigger
      11             : /// \class AliMUONLocalTrigger
      12             : /// \brief Reconstructed Local Trigger object
      13             : //  Author Ph. Crochet
      14             : 
      15             : #include <TObject.h>
      16             : #include "AliMUONRawStreamTriggerHP.h"
      17             : 
      18             : class AliMUONLocalStruct;
      19             : class TArrayS;
      20             : 
      21             : class AliMUONLocalTrigger : public TObject {
      22             :  public:
      23             :   AliMUONLocalTrigger();
      24             :   AliMUONLocalTrigger(const AliMUONLocalTrigger& rhs); // copy constructor !
      25             :   virtual ~AliMUONLocalTrigger();
      26             :   AliMUONLocalTrigger& operator=(const AliMUONLocalTrigger& rhs); 
      27             : 
      28             :   // getter methods
      29             :   //
      30             :         /// Return Circuit number
      31      447030 :   Int_t LoCircuit() const {return fLoCircuit;}
      32             :         /// Return X strip in MT11
      33        2168 :   Int_t LoStripX() const {return fLoStripX;}   
      34             :         /// Return Deviation
      35        2088 :   Int_t LoDev() const {return fLoDev;}
      36             :         /// Return Sign of Deviation
      37        2228 :   Int_t LoSdev() const {return fLoSdev;}
      38             :         /// Return Trig Y
      39        1932 :   Int_t LoTrigY() const {return fLoTrigY;}
      40             :         /// Return Y strip in MT11
      41        1960 :   Int_t LoStripY() const {return fLoStripY;}
      42             :         /// Return Low pt
      43          52 :   Int_t LoLpt() const {return fLoLpt;}
      44             :         /// Return High p
      45          52 :   Int_t LoHpt() const {return fLoHpt;}
      46             : 
      47             :            /// Return X strip pattern for chamber 11
      48        3446 :   UShort_t GetX1Pattern() const {return fX1Pattern;}
      49             :            /// Return X strip pattern for chamber 12  
      50        3446 :   UShort_t GetX2Pattern() const {return fX2Pattern;}
      51             :            /// Return X strip pattern for chamber 21 
      52        3510 :   UShort_t GetX3Pattern() const {return fX3Pattern;}
      53             :            /// Return X strip pattern for chamber 22
      54        3510 :   UShort_t GetX4Pattern() const {return fX4Pattern;}
      55             :            /// return X pattern array
      56             :    void    GetXPattern(TArrayS& array) const;
      57             : 
      58             : 
      59             :            /// Return Y strip pattern for chamber 11 
      60        3510 :   UShort_t GetY1Pattern() const {return fY1Pattern;}
      61             :            /// Return Y strip pattern for chamber 12
      62        3510 :   UShort_t GetY2Pattern() const {return fY2Pattern;}
      63             :            /// Return Y strip pattern for chamber 21
      64        3510 :   UShort_t GetY3Pattern() const {return fY3Pattern;}
      65             :            /// Return Y strip pattern for chamber 22
      66        3510 :   UShort_t GetY4Pattern() const {return fY4Pattern;}
      67             :            /// return Y pattern array
      68             :    void    GetYPattern(TArrayS& array) const;
      69             : 
      70             :   Char_t GetLoDecision() const;
      71             :   
      72             :   Int_t GetDeviation() const;
      73             :   void  SetDeviation(Int_t deviation);
      74             : 
      75             :   /// Trigger response X strips
      76             :   Bool_t IsTrigX() const;
      77             :   /// Trigger response Y strips
      78             :   Bool_t IsTrigY() const;
      79             : 
      80             :   /// Hit pattern from the re-calculated trigger response after removing chambers one-by-one
      81           0 :   UShort_t GetHitPatternFromResponse() const {return fHitPatternFromResponse; }
      82             : 
      83             :   /// Triggers from the re-calculated trigger response after removing chambers one-by-one
      84          28 :   UChar_t GetTriggerWithoutChamber() const {return fTriggerWithoutChamber; }
      85             : 
      86             :   // setter methods
      87             :   //
      88             :            /// Set Circuit number
      89      346920 :   void SetLoCircuit(Int_t loCir) {fLoCircuit = loCir;}
      90             :            /// Set X strip in MT11
      91      345092 :   void SetLoStripX(Int_t loStrX) {fLoStripX = loStrX;}   
      92             :            /// Set Deviation
      93      345092 :   void SetLoDev(Int_t loDev)     {fLoDev = loDev;}
      94             :              /// Set Sign of Deviation
      95      345092 :   void SetLoSdev(Int_t loSdev)   {fLoSdev = loSdev;}
      96             :            /// Set Trig Y
      97      345092 :   void SetLoTrigY(Int_t loTrigY) {fLoTrigY = loTrigY;}
      98             :            /// Set Y strip in MT11
      99      345092 :   void SetLoStripY(Int_t loStrY) {fLoStripY = loStrY;}
     100             :            /// Set Low pt
     101      345092 :   void SetLoLpt(Int_t loLpt)     {fLoLpt = loLpt;}
     102             :            /// Set High pt
     103      345092 :   void SetLoHpt(Int_t loHpt)     {fLoHpt = loHpt;}
     104             :    
     105             :            /// Set X strip pattern for chamber 11
     106      345092 :   void SetX1Pattern(UShort_t pat) {fX1Pattern = pat;}
     107             :            /// Set X strip pattern for chamber 12
     108      345092 :   void SetX2Pattern(UShort_t pat) {fX2Pattern = pat;}
     109             :            /// Set X strip pattern for chamber 21
     110      345092 :   void SetX3Pattern(UShort_t pat) {fX3Pattern = pat;}
     111             :            /// Set X strip pattern for chamber 22
     112      345092 :   void SetX4Pattern(UShort_t pat) {fX4Pattern = pat;}
     113             : 
     114             :            /// Set Y strip pattern for chamber 11
     115      345092 :   void SetY1Pattern(UShort_t pat) {fY1Pattern = pat;}
     116             :            /// Set Y strip pattern for chamber 12
     117      345092 :   void SetY2Pattern(UShort_t pat) {fY2Pattern = pat;}
     118             :            /// Set Y strip pattern for chamber 21
     119      345092 :   void SetY3Pattern(UShort_t pat) {fY3Pattern = pat;}
     120             :            /// Set Y strip pattern for chamber 22
     121      345092 :   void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
     122             : 
     123             :   void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
     124             :   void SetLocalStruct(Int_t loCircuit, const AliMUONRawStreamTriggerHP::AliLocalStruct& localStruct);
     125             : 
     126             :   Bool_t IsNull() const;
     127             :   
     128             :   virtual void Print(Option_t* opt="") const;
     129             :   
     130             :   virtual const char* GetName() const;
     131             : 
     132             :   /// The board would provide a trigger even after removing chamber ich [0,3]
     133         100 :   void SetTriggerWithoutChamber(Int_t ich){ fTriggerWithoutChamber |= 1 << (3 - ich); }
     134             : 
     135             :   /// Trigger algorithm did NOT find hit in the specified chamber and cathode
     136           4 :   void SetNoHitInPlane(Int_t icath, Int_t ich){ fHitPatternFromResponse &= ~(1 << (7 - 4*icath - ich)); }
     137             : 
     138             : private:
     139             :   Int_t fLoCircuit; ///< Circuit number 
     140             :   Int_t fLoStripX;  ///< X strip in MT11 
     141             :   Int_t fLoDev;     ///< Deviation
     142             :   Int_t fLoSdev;    ///< Sign of Deviation 
     143             :   Int_t fLoTrigY;   ///< Trig Y
     144             :   Int_t fLoStripY;  ///< Y strip in MT11 
     145             :   Int_t fLoLpt;     ///< Low pt  0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
     146             :   Int_t fLoHpt;     ///< High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
     147             :   
     148             :   UShort_t fX1Pattern; ///< X strip pattern for chamber 11
     149             :   UShort_t fX2Pattern; ///< X strip pattern for chamber 12
     150             :   UShort_t fX3Pattern; ///< X strip pattern for chamber 21
     151             :   UShort_t fX4Pattern; ///< X strip pattern for chamber 22
     152             : 
     153             :   UShort_t fY1Pattern; ///< Y strip pattern for chamber 11
     154             :   UShort_t fY2Pattern; ///< Y strip pattern for chamber 12
     155             :   UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
     156             :   UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
     157             : 
     158             :   UShort_t fHitPatternFromResponse; ///<  Fired plane according to re-computed repsonse
     159             :   UChar_t fTriggerWithoutChamber; ///< Pattern of triggers after chamber removal
     160             : 
     161          24 :   ClassDef(AliMUONLocalTrigger,5)  // reconstructed Local Trigger object
     162             : };
     163             : #endif
     164             : 
     165             : 
     166             : 
     167             : 
     168             : 
     169             : 

Generated by: LCOV version 1.11