LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpPad.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 8 9 88.9 %
Date: 2016-06-14 17:26:59 Functions: 9 13 69.2 %

          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: AliMpPad.h,v 1.11 2006/05/24 13:58:07 ivana Exp $
       6             : 
       7             : /// \ingroup basic
       8             : /// \class AliMpPad
       9             : /// \brief Class which encapsuate all information about a pad
      10             : ///
      11             : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
      12             : 
      13             : #ifndef ALI_MP_PAD_H
      14             : #define ALI_MP_PAD_H
      15             : 
      16             : #include "AliMpEncodePair.h"
      17             : 
      18             : #include <TObject.h>
      19             : 
      20             : #include <TClonesArray.h>
      21             : 
      22             : class AliMpPad : public TObject
      23             : {
      24             :  public:
      25             :   AliMpPad(Int_t manuId, Int_t channel,
      26             :            Int_t ix, Int_t iy,
      27             :            Double_t x,  Double_t y, 
      28             :            Double_t dx,  Double_t dy,
      29             :            Bool_t validity = true);
      30             :   AliMpPad(Int_t manuId, Int_t channel,
      31             :            MpPair_t indices,
      32             :            Double_t positionX,  Double_t positionY, 
      33             :            Double_t dx,  Double_t dy,
      34             :            Bool_t validity = true);
      35             : 
      36             :   AliMpPad();
      37             :   AliMpPad(const AliMpPad& src);
      38             :   ~AliMpPad();
      39             : 
      40             :   //
      41             :   // operators  
      42             :   //
      43             :   Bool_t operator == (const AliMpPad& pos2) const;
      44             :   Bool_t operator != (const AliMpPad& pos2) const;
      45             :   AliMpPad& operator = (const AliMpPad& src) ;
      46             :   
      47             :   //
      48             :   // methods
      49             :   //
      50             :   void PrintOn(ostream& out) const;
      51             :   void Print(const char* /*option*/ = "") const;
      52             : 
      53             :   //
      54             :   // static get methods
      55             :   //
      56             :                /// Return invalid pad
      57      713576 :   static AliMpPad Invalid() {return AliMpPad();}
      58             : 
      59             :   //
      60             :   // set methods
      61             :   //
      62             :   Bool_t  AddLocation(Int_t localBoardId, Int_t localBoardChannel, 
      63             :                       Bool_t warn = true);
      64             : 
      65             :   //
      66             :   // get methods
      67             :   //
      68             :                /// Return pad location as encoded pair (manuId, manuChannel)
      69           0 :   MpPair_t     GetLocation() const { return fLLocation; }
      70             :   Int_t        GetManuId() const;
      71             :   Int_t        GetManuChannel() const;
      72             :   
      73             :                /// Return pad indices as encoded pair (ix, iy)
      74     2893636 :   MpPair_t     GetIndices()  const { return fLIndices; }
      75             :   Int_t        GetIx() const;
      76             :   Int_t        GetIy() const;
      77             :   
      78             :                /// Return the pad x position (in cm)
      79     2973048 :   Double_t     GetPositionX() const { return fPositionX; }
      80             :                /// Return the pad x position (in cm)
      81     2969474 :   Double_t     GetPositionY() const { return fPositionY; }
      82             :   
      83             :                /// Return the x pad dimension - half length (in cm)
      84     2928518 :   Double_t     GetDimensionX()  const {return fDimensionX;}
      85             :                /// Return the y pad dimension - half length (in cm)
      86     2960226 :   Double_t     GetDimensionY()  const {return fDimensionY;}
      87             : 
      88             :                /// Return validity
      89    12346494 :   Bool_t       IsValid()     const {return fValidity  ;}
      90             :   
      91             :   Int_t        GetNofLocations() const;
      92             :   MpPair_t     GetLocation(Int_t i) const;  
      93             :   Int_t        GetLocalBoardId(Int_t i) const;
      94             :   Int_t        GetLocalBoardChannel(Int_t i) const;
      95             : 
      96             :   Bool_t       HasLocation(Int_t localBoardId, Int_t localBoardChannel) const; 
      97             : 
      98             :  private:
      99             : 
     100             :   // static data members
     101             :   static const Int_t  fgkMaxNofLocations; ///< \brief maximum number of pad locations
     102             :                                           /// in the collection
     103             :   // data members
     104             :   UInt_t          fNofLocations;   ///<  number of locations in fLocations
     105             :   /// Collection of pad locations - encoded pair (localBoardId, localBoardChannel) 
     106             :   MpPair_t*       fLLocations;     //[fNofLocations]
     107             :   MpPair_t        fLLocation;      ///<  pad location as encoded pair (manuId, manuChannel) 
     108             :   MpPair_t        fLIndices;       ///<  pad indices as encoded pair (ix, iy)  
     109             :   Double_t        fPositionX;      ///<  the pad x position (in cm)
     110             :   Double_t        fPositionY;      ///<  the pad y position (in cm)
     111             :   Double_t        fDimensionX;     ///<  the pad x dimension - half length (in cm)
     112             :   Double_t        fDimensionY;     ///<  the pad y dimension - half length(in cm)
     113             :   Bool_t          fValidity;       ///<  validity
     114             : 
     115        6418 :   ClassDef(AliMpPad,4) //utility class for the motif type
     116             : };
     117             : 
     118             : ostream& operator << (ostream &out, const AliMpPad& op);
     119             : Bool_t operator < (const AliMpPad& left, const AliMpPad& right);
     120             : 
     121             : #endif //ALI_MP_PAD_H

Generated by: LCOV version 1.11