LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpLocalBoard.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 14 19 73.7 %
Date: 2016-06-14 17:26:59 Functions: 14 23 60.9 %

          Line data    Source code
       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 mptrigger
       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             : #include "AliMpEncodePair.h"
      20             : 
      21             : class TString;
      22             : 
      23             : class AliMpLocalBoard : public TNamed
      24             : {
      25             : 
      26             :  public:
      27             :     AliMpLocalBoard(Int_t id, const Char_t* name, Int_t slot);
      28             :     AliMpLocalBoard(TRootIOCtor* /*ioCtor*/);
      29             :     virtual ~AliMpLocalBoard();
      30             :     
      31             :     // detElem
      32             :     Bool_t AddDE(Int_t detElemId);
      33             :     Int_t  GetNofDEs() const;
      34             :     Int_t  GetDEId(Int_t index) const;
      35             :     Int_t  GetDEIdByChamber(Int_t chamberId) const;
      36             :     Bool_t HasDEId(Int_t detElemId) const;
      37             : 
      38             :     // get methods
      39             :     //
      40             :            /// Return the identifier (unique)
      41      353098 :     Int_t  GetId()   const {return fId;}
      42             :            /// Return the slot Identifier in the given crate
      43        5808 :     Int_t  GetSlot() const {return fSlot;}
      44             : 
      45             :     /// set slot
      46           0 :     void   SetSlot(Int_t slot) {fSlot = slot;}
      47             : 
      48             :     // Switches
      49             :     //
      50             :             /// Get switch bit wise (return a inteter for backware compatibility)
      51             :     Int_t  GetSwitch(Int_t index) const;
      52             :             /// Set switch in a compact way
      53             :     void   SetSwitch(UInt_t swit);
      54             :             /// Get switch in a compact way
      55           0 :     UInt_t  GetSwitch() const {return fSwitch;}
      56             : 
      57             :     // switch enum for local board (see PRR, chpt: 2.4.4)
      58             :     enum {kX2d, kX2m, kX2u, ///< (1) indicate a change of strip pitch in Y circuit
      59             :           kOR0, kOR1,  ///< taking into account the different segmentation in Y from MT1 to MT2
      60             :           kENY,        ///< (0) enable communication in Y to n+/-1 board via tranverse connector, (1) disable
      61             :           kZeroAllYLSB,///< (1) reset the LSB for special configuration of board RC2L5B4 & RC2L6B1
      62             :           kZeroDown,   ///< (0) information is expected from n-1 board for X input, (1) not
      63             :           kZeroMiddle, ///< (0) always, not used
      64             :           kZeroUp };   ///< (0) information is expected from n+1 board for X input, (1) not
      65             : 
      66             :     // Transverse connector
      67             :     //     
      68             :              /// Set transverse connector
      69         726 :     void     SetTC(Bool_t connect) {fTC = connect;}
      70             :              /// Return transverse connector
      71           0 :     Bool_t   GetTC() const {return fTC;}
      72             : 
      73             :     // Crate name
      74             :     //
      75             :              /// Set crate name
      76        1452 :     void     SetCrate(TString name) {fCrate = name;}
      77             :              /// Return crate name
      78           0 :     TString  GetCrate() const {return fCrate;}
      79             : 
      80             :     // Notify
      81             :     //
      82             :              /// Set notified flag (not copy card)
      83          24 :     void     SetNotified(Bool_t notify) {fNotified = notify;}
      84             :              /// Return notified flag (not copy card) 
      85      351288 :     Bool_t   IsNotified() const {return fNotified;}
      86             : 
      87             :     
      88             :     /// given position (line, col)
      89             :     MpPair_t GetPosition() const;
      90             : 
      91             :     // Id to be copy to or from
      92             :     
      93             :     /// Get Id from where the X input are copied
      94        2112 :     Int_t GetInputXfrom() const {return fInputXfrom;}
      95             :     /// Get Id to where the X input are copied
      96      179848 :     Int_t GetInputXto() const   {return fInputXto;}
      97             :     /// Get Id from where the Y input are copied
      98          64 :     Int_t GetInputYfrom() const {return fInputYfrom;}
      99             :     /// Get Id to where the Y input are copied
     100           0 :     Int_t GetInputYto() const  {return fInputYto;}
     101             : 
     102             :     /// Set Id from where the X input are copied 
     103        1452 :     void SetInputXfrom(Int_t id) {fInputXfrom = id;}
     104             :     /// Set Id to where the X input are copied    
     105        1452 :     void SetInputXto(Int_t id)   {fInputXto   = id;}
     106             :     /// Set Id from where the Y input are copied 
     107        1452 :     void SetInputYfrom(Int_t id) {fInputYfrom = id;}
     108             :     /// Set Id to where the Y input are copied 
     109        1452 :     void SetInputYto(Int_t id)   {fInputYto   = id;}
     110             : 
     111             :  private:
     112             :   /// Not implemented
     113             :    AliMpLocalBoard();
     114             :   /// Not implemented
     115             :    AliMpLocalBoard(const AliMpLocalBoard& src);
     116             :    /// Not implemented
     117             :    AliMpLocalBoard& operator = (const AliMpLocalBoard& src) ;
     118             : 
     119             :    Int_t GetIndex(Int_t chamberId) const;
     120             :    
     121             :    Int_t       fId;       ///< Identifier (unique)
     122             :    Int_t       fSlot;     ///< Slot Identifier in the given crate 
     123             :    Bool_t      fTC;       ///< Transverse connector
     124             :    TString     fCrate;    ///< Crate name
     125             :    UInt_t      fSwitch;   ///< switches in compact way
     126             :    Bool_t      fNotified; ///< notified flag (not copy card)
     127             :    AliMpArrayI fDEId;     ///< list of Detection element to which this local board is connected
     128             :    Int_t       fInputXfrom;///< local id of x3-4 inputs copied from (zero: not copied)
     129             :    Int_t       fInputXto;  ///< local id of x3-4 inputs copied to (zero: not copied)
     130             :    Int_t       fInputYfrom;///< local id of y1-4 inputs copied from (zero: not copied)
     131             :    Int_t       fInputYto;  ///< local id of y1-4 inputs copied to (zero: not copied)
     132             : 
     133          18 :   ClassDef(AliMpLocalBoard,3) //utility class for the motif type
     134             : };
     135             : 
     136             : 
     137             : #endif 

Generated by: LCOV version 1.11