ROOT logo
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// $Id$
// $MpId: AliMpRowSegmentRSpecial.h,v 1.9 2006/05/24 13:58:21 ivana Exp $

/// \ingroup sector
/// \class AliMpRowSegmentRSpecial
/// \brief A special outer row segment composed of the pad rows.
///
/// \author David Guez, Ivana Hrivnacova; IPN Orsay

#ifndef ALI_MP_ROW_SEGMENT_R_SPECIAL_H
#define ALI_MP_ROW_SEGMENT_R_SPECIAL_H

#include "AliMpVRowSegmentSpecial.h"

class AliMpRow;
class AliMpPadRow;
class AliMpVPadRowSegment;

class AliMpRowSegmentRSpecial : public AliMpVRowSegmentSpecial
{
  public:
    AliMpRowSegmentRSpecial(AliMpRow* row, Double_t offsetX);
    AliMpRowSegmentRSpecial();
    virtual ~AliMpRowSegmentRSpecial();
    
    // methods
                  /// Nothing to be done for outer segments
    virtual void  UpdatePadsOffset() {}
    virtual Double_t  LeftBorderX() const;
    virtual Double_t  RightBorderX() const;

    // geometry
    virtual Double_t  GetPositionX() const;
    virtual Double_t  GetPositionY() const;

    // set methods
    virtual void   SetGlobalIndices(AliMpRow* rowBefore);
    virtual Int_t  SetIndicesToMotifPosition(Int_t i, MpPair_t indices);

  protected:
    // methods
    virtual void  MotifCenterSlow(Int_t motifPositionId, 
                                  Double_t& x, Double_t& y) const;
    
  private:
    // methods
    AliMpVPadRowSegment* FindMostLeftPadRowSegment(Int_t motifPositionId) const;
    void SetGlobalIndicesLow();
    
  ClassDef(AliMpRowSegmentRSpecial,1)  // Row segment
};

#endif //ALI_MP_ROW_SEGMENT_R_SPECIAL_H
 AliMpRowSegmentRSpecial.h:1
 AliMpRowSegmentRSpecial.h:2
 AliMpRowSegmentRSpecial.h:3
 AliMpRowSegmentRSpecial.h:4
 AliMpRowSegmentRSpecial.h:5
 AliMpRowSegmentRSpecial.h:6
 AliMpRowSegmentRSpecial.h:7
 AliMpRowSegmentRSpecial.h:8
 AliMpRowSegmentRSpecial.h:9
 AliMpRowSegmentRSpecial.h:10
 AliMpRowSegmentRSpecial.h:11
 AliMpRowSegmentRSpecial.h:12
 AliMpRowSegmentRSpecial.h:13
 AliMpRowSegmentRSpecial.h:14
 AliMpRowSegmentRSpecial.h:15
 AliMpRowSegmentRSpecial.h:16
 AliMpRowSegmentRSpecial.h:17
 AliMpRowSegmentRSpecial.h:18
 AliMpRowSegmentRSpecial.h:19
 AliMpRowSegmentRSpecial.h:20
 AliMpRowSegmentRSpecial.h:21
 AliMpRowSegmentRSpecial.h:22
 AliMpRowSegmentRSpecial.h:23
 AliMpRowSegmentRSpecial.h:24
 AliMpRowSegmentRSpecial.h:25
 AliMpRowSegmentRSpecial.h:26
 AliMpRowSegmentRSpecial.h:27
 AliMpRowSegmentRSpecial.h:28
 AliMpRowSegmentRSpecial.h:29
 AliMpRowSegmentRSpecial.h:30
 AliMpRowSegmentRSpecial.h:31
 AliMpRowSegmentRSpecial.h:32
 AliMpRowSegmentRSpecial.h:33
 AliMpRowSegmentRSpecial.h:34
 AliMpRowSegmentRSpecial.h:35
 AliMpRowSegmentRSpecial.h:36
 AliMpRowSegmentRSpecial.h:37
 AliMpRowSegmentRSpecial.h:38
 AliMpRowSegmentRSpecial.h:39
 AliMpRowSegmentRSpecial.h:40
 AliMpRowSegmentRSpecial.h:41
 AliMpRowSegmentRSpecial.h:42
 AliMpRowSegmentRSpecial.h:43
 AliMpRowSegmentRSpecial.h:44
 AliMpRowSegmentRSpecial.h:45
 AliMpRowSegmentRSpecial.h:46
 AliMpRowSegmentRSpecial.h:47
 AliMpRowSegmentRSpecial.h:48
 AliMpRowSegmentRSpecial.h:49
 AliMpRowSegmentRSpecial.h:50
 AliMpRowSegmentRSpecial.h:51
 AliMpRowSegmentRSpecial.h:52
 AliMpRowSegmentRSpecial.h:53
 AliMpRowSegmentRSpecial.h:54
 AliMpRowSegmentRSpecial.h:55
 AliMpRowSegmentRSpecial.h:56