LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpSlatSegmentation.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 2 100.0 %
Date: 2016-06-14 17:26:59 Functions: 3 6 50.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: AliMpSlatSegmentation.h,v 1.12 2006/05/24 13:58:24 ivana Exp $
       6             : 
       7             : /// \ingroup slat
       8             : /// \class AliMpSlatSegmentation
       9             : /// \brief Implementation of AliMpVSegmentation for St345 slats.
      10             : /// 
      11             : /// Note that integer indices start at (0,0) on the bottom-left of the slat,
      12             : /// while floating point positions are relative to the center of the slat
      13             : /// (where the slat is to be understood as N PCBs of fixed size = 40cm
      14             : /// even if not all pads of a given PCBs are actually physically there).
      15             : ///
      16             : /// \author Laurent Aphecetche
      17             : 
      18             : #ifndef ALI_MP_SLAT_SEGMENTATION_H
      19             : #define ALI_MP_SLAT_SEGMENTATION_H
      20             : 
      21             : #ifndef ROOT_TString
      22             : #include "TString.h"
      23             : #endif
      24             : 
      25             : #ifndef ALI_MP_V_SEGMENTATION_H
      26             : #include "AliMpVSegmentation.h"
      27             : #endif
      28             : 
      29             : #ifndef ALI_MP_PAD_H
      30             : #include "AliMpPad.h"
      31             : #endif
      32             : 
      33             : class AliMpMotifPosition;
      34             : class AliMpPCB;
      35             : class AliMpSlat;
      36             : 
      37             : class AliMpSlatSegmentation : public AliMpVSegmentation
      38             : {
      39             :  public:
      40             :   AliMpSlatSegmentation();
      41             :   AliMpSlatSegmentation(const AliMpSlat* slat, Bool_t own = false);
      42             :   virtual ~AliMpSlatSegmentation();
      43             : 
      44             :   virtual AliMpVPadIterator* CreateIterator(const AliMpArea& area) const;
      45             :   virtual AliMpVPadIterator* CreateIterator() const;
      46             : 
      47             :   virtual Int_t GetNeighbours(const AliMpPad& pad, TObjArray& neighbours,
      48             :                               Bool_t includeSelf=kFALSE,
      49             :                               Bool_t includeVoid=kFALSE) const;
      50             :   
      51             :   const char* GetName() const;
      52             :   
      53             :   Int_t MaxPadIndexX() const;
      54             :   Int_t MaxPadIndexY() const;
      55             :   Int_t NofPads() const;
      56             :   
      57             :   virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, 
      58             :                          Bool_t warning) const;
      59             : 
      60             :   virtual AliMpPad PadByIndices(Int_t ix, Int_t iy,  
      61             :                         Bool_t warning) const;
      62             : 
      63             :   virtual AliMpPad PadByPosition(Double_t x, Double_t y,
      64             :                          Bool_t warning) const;
      65             : 
      66             :   virtual void Print(Option_t* opt) const;
      67             :   
      68             :   const AliMpSlat* Slat() const;
      69             :   
      70             :   void GetAllElectronicCardIDs(TArrayI& ecn) const;
      71             :   
      72             :   virtual AliMp::PlaneType PlaneType() const;
      73             :    
      74             :   virtual AliMp::StationType StationType() const;
      75             :   
      76             :   virtual Double_t  GetDimensionX() const;
      77             :   virtual Double_t  GetDimensionY() const;
      78             :   
      79             :   virtual Bool_t HasPadByIndices(Int_t ix, Int_t iy) const;
      80             :   
      81             :   virtual Bool_t HasPadByLocation(Int_t manuId, Int_t manuChannel) const;
      82             : 
      83             :   virtual Int_t GetNofElectronicCards() const;
      84             :   
      85             :   virtual Double_t  GetPositionX() const;
      86             :   virtual Double_t  GetPositionY() const;
      87             :   
      88             :   virtual Bool_t HasMotifPosition(Int_t manuId) const;
      89             :   
      90             :   virtual AliMpMotifPosition* MotifPosition(Int_t manuId) const;
      91             :   
      92             :  private:
      93             :   /// Not implemented
      94             :   AliMpSlatSegmentation(const AliMpSlatSegmentation& right);
      95             :   /// Not implemented
      96             :   AliMpSlatSegmentation&  operator = (const AliMpSlatSegmentation& right);
      97             : 
      98             :   const AliMpSlat* fkSlat;  ///< Slat
      99             :   Bool_t           fIsOwner;///< Slat ownership     
     100             : 
     101        3750 :   ClassDef(AliMpSlatSegmentation,2) // A slat for stations 3,4,5
     102             : };
     103             : 
     104             : /// Return station type
     105             : inline AliMp::StationType AliMpSlatSegmentation::StationType() const
     106      107608 : { return AliMp::kStation345; }
     107             : 
     108             : #endif

Generated by: LCOV version 1.11