LCOV - code coverage report
Current view: top level - MUON/MUONmapping - AliMpMotifSpecial.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: AliMpMotifSpecial.h,v 1.11 2006/05/24 13:58:18 ivana Exp $
       6             : 
       7             : /// \ingroup motif
       8             : /// \class AliMpMotifSpecial
       9             : /// \brief A special motif with varying pad dimensions
      10             : ///
      11             : /// \author David Guez, Ivana Hrivnacova; IPN Orsay
      12             : 
      13             : #ifndef ALI_MP_MOTIF_SPECIAL_H
      14             : #define ALI_MP_MOTIF_SPECIAL_H
      15             : 
      16             : #include "AliMpVMotif.h"
      17             : #include "AliMpExMap.h"
      18             : 
      19             : #include <TObjArray.h>
      20             : #include <TArrayD.h>
      21             : 
      22             : class TString;
      23             : 
      24             : class AliMpMotifSpecial : public AliMpVMotif
      25             : {
      26             :  public:
      27             :   AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
      28             :   AliMpMotifSpecial(TRootIOCtor* ioCtor);
      29             :   virtual ~AliMpMotifSpecial();
      30             : 
      31             :   // Access methods
      32             :   virtual void GetPadDimensionsByIndices(MpPair_t localIndices,
      33             :                       Double_t& dx, Double_t& dy) const;
      34             :   virtual void GetPadDimensionsByIndices(Int_t ixLocal, Int_t iyLocal,
      35             :                       Double_t& dx, Double_t& dy) const;
      36             : 
      37             :   virtual Int_t    GetNofPadDimensions() const;
      38             :   virtual Double_t GetPadDimensionX(Int_t i) const;
      39             :   virtual Double_t GetPadDimensionY(Int_t i) const;
      40             : 
      41             :   // Set methods
      42             :   void SetPadDimensions(MpPair_t localIndices, 
      43             :                         Double_t dx, Double_t dy);
      44             :   void SetPadDimensions(Int_t ixLocal, Int_t iyLocal, 
      45             :                         Double_t dx, Double_t dy);
      46             :   
      47             :   // Geometry
      48             :   void CalculateDimensions();
      49             : 
      50             :   virtual Double_t DimensionX() const;
      51             :   virtual Double_t DimensionY() const;
      52             : 
      53             :   // Other methods
      54             :   virtual void PadPositionLocal(MpPair_t localIndices,
      55             :                       Double_t& posx, Double_t& posy  ) const;
      56             :   virtual void PadPositionLocal(Int_t ixLocal, Int_t iyLocal,
      57             :                       Double_t& posx, Double_t& posy  ) const;
      58             : 
      59             :   virtual MpPair_t PadIndicesLocal(
      60             :                       Double_t localPosX, Double_t localPosY) const;
      61             : 
      62             :  private:
      63             :   /// Not implemented
      64             :   AliMpMotifSpecial();
      65             : 
      66             :   // static data members
      67             :   static Int_t fgkPadDimensions2Size; ///< The fPadDimensionsX/Y2 array size
      68             : 
      69             :   // data members
      70             :   Double_t     fDimensionX; ///< motif x dimensions
      71             :   Double_t     fDimensionY; ///< motif y dimensions
      72             :   AliMpExMap   fPadDimensionsVector;  ///< the vector of pad dimensions
      73             :   Int_t        fNofPadDimensions2; ///< number of different pad dimensions
      74             :   TArrayD      fPadDimensions2X; ///< the vector of x of different pad dimensions
      75             :   TArrayD      fPadDimensions2Y; ///< the vector of y of different pad dimensions
      76             : 
      77          18 :   ClassDef(AliMpMotifSpecial,3) // A motif with its ID
      78             : };
      79             : 
      80             : #endif //ALI_MP_MOTIF_SPECIAL_H

Generated by: LCOV version 1.11