Changing __sparc to __sun to compile on solarisCC5
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifSpecial.h
CommitLineData
dee1d5f1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3
5f91c9e8 4// $Id$
dee1d5f1 5// $MpId: AliMpMotifSpecial.h,v 1.6 2005/08/26 15:43:36 ivana Exp $
6
7/// \ingroup motif
8/// \class AliMpMotifSpecial
9/// \brief A special motif with varying pad dimensions
10///
11/// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
5f91c9e8 12
13#ifndef ALI_MP_MOTIF_SPECIAL_H
14#define ALI_MP_MOTIF_SPECIAL_H
15
5f91c9e8 16#include <TVector2.h>
17
18#include "AliMpMotifTypes.h"
19#include "AliMpVMotif.h"
20
2998a151 21class TString;
22
5f91c9e8 23class AliMpMotifSpecial : public AliMpVMotif
24{
25 public:
26 AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
27 AliMpMotifSpecial();
2998a151 28 virtual ~AliMpMotifSpecial();
5f91c9e8 29
30 // Access methods
31 virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
32 virtual Int_t GetNofPadDimensions() const;
33 virtual TVector2 GetPadDimensions(Int_t i) const;
34
35 // Set methods
36 void SetPadDimensions(const AliMpIntPair& localIndices,
37 const TVector2& dimensions);
38
39 // Geometry
40 virtual TVector2 Dimensions() const;
41
42 // Other methods
43 virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const;
44 virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
45
46 private:
47
48 // methods
49 Int_t VectorIndex(const AliMpIntPair& indices) const;
50
51 // data members
52 DimensionsMap fPadDimensionsVector; // the vector of pad dimensions
53 DimensionsMap fPadDimensionsVector2; // the vector of different pad dimensions
54
55 ClassDef(AliMpMotifSpecial,1) // A motif with its ID
56};
57
58#endif //ALI_MP_MOTIF_SPECIAL_H