LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpRowSegment.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 5 20.0 %

          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: AliMpRowSegment.h,v 1.10 2006/05/24 13:58:21 ivana Exp $
       6             : 
       7             : /// \ingroup sector
       8             : /// \class AliMpRowSegment
       9             : /// \brief A row segment composed of the the identic motifs.
      10             : ///
      11             : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
      12             : 
      13             : #ifndef ALI_MP_ROW_SEGMENT_H
      14             : #define ALI_MP_ROW_SEGMENT_H
      15             : 
      16             : #include "AliMpVRowSegment.h"
      17             : 
      18             : class AliMpRow;
      19             : class AliMpVMotif;
      20             : 
      21             : class AliMpRowSegment : public AliMpVRowSegment
      22             : {
      23             :   public:
      24             :     AliMpRowSegment(AliMpRow* row, AliMpVMotif* motif, 
      25             :                 Int_t padOffsetX, Int_t padOffsetY, 
      26             :                 Int_t nofMotifs, Int_t motifPositionId, Int_t motifPositionDId);
      27             :     AliMpRowSegment();
      28             :     virtual ~AliMpRowSegment();
      29             : 
      30             :     // methods
      31             :     virtual Double_t  LeftBorderX() const;
      32             :     virtual Double_t  RightBorderX() const;
      33             :     virtual Double_t  HalfSizeY() const;
      34             : 
      35             :     // find methods
      36             :     virtual AliMpVMotif*  FindMotif(Double_t x, Double_t y) const;    
      37             :     virtual Int_t     FindMotifPositionId(Double_t x, Double_t y) const;
      38             :     virtual Bool_t    HasMotifPosition(Int_t motifPositionId) const;
      39             :     virtual void      MotifCenter(Int_t motifPositionId,
      40             :                                   Double_t& x, Double_t& y) const;
      41             : 
      42             :     // geometry
      43             :     virtual Double_t  GetPositionX() const;
      44             :     virtual Double_t  GetPositionY() const;
      45             :     virtual Double_t  GetDimensionX() const;
      46             :     virtual Double_t  GetDimensionY() const;
      47             : 
      48             :     // set methods
      49             :     virtual void      SetOffset(Double_t x, Double_t y);
      50             :     virtual void      SetGlobalIndices(AliMpRow* rowBefore);
      51             :     virtual Int_t     SetIndicesToMotifPosition(Int_t i, MpPair_t indices);
      52             : 
      53             :     // get methods
      54             :     virtual AliMpRow*     GetRow() const;
      55             :     virtual Int_t         GetNofMotifs() const;
      56             :     virtual AliMpVMotif*  GetMotif(Int_t /*i*/) const;
      57             :     virtual Int_t         GetMotifPositionId(Int_t i) const;
      58             : 
      59             :   private:
      60             :     /// Not implemented
      61             :     AliMpRowSegment(const AliMpRowSegment& right);
      62             :     /// Not implemented
      63             :     AliMpRowSegment&  operator = (const AliMpRowSegment& right);
      64             : 
      65             :     // methods
      66             :     Double_t  FirstMotifCenterX() const;
      67             :     Double_t  LastMotifCenterX() const;
      68             :     Double_t  MotifCenterX(Int_t motifPositionId) const;
      69             :     Double_t  MotifCenterY(Int_t motifPositionId) const;
      70             :     Bool_t    IsInside(Double_t x, Double_t y, Bool_t warn = true) const;
      71             : 
      72             :     // data members
      73             :     Int_t         fNofMotifs;  ///< number of motifs
      74             :     MpPair_t      fLPadOffset; ///< the offset in nof pads 
      75             :     Double_t      fOffsetX;    ///< \brief the x position of the centre of the first motif
      76             :                                /// wrt to left border
      77             :     Double_t      fOffsetY;    ///< \brief the y position of the centre of the first motif
      78             :                                /// wrt to row center
      79             :     AliMpRow*     fRow;        ///< the row containing this segment 
      80             :     AliMpVMotif*  fMotif;      ///< the motif 
      81             :     Int_t   fMotifPositionId;  ///< the first motif position id
      82             :     Int_t   fMotifPositionDId; ///< +1 if ids are increasing, -1 if decreasing
      83             :     
      84          18 :   ClassDef(AliMpRowSegment,2)  // Row segment
      85             : };
      86             : 
      87             : #endif //ALI_MP_ROW_SEGMENT_H
      88             : 

Generated by: LCOV version 1.11