]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/mapping/AliMpMotifSpecial.h
Updated comments for Doxygen
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpMotifSpecial.h
... / ...
CommitLineData
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.10 2006/05/23 13:07:42 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
12
13#ifndef ALI_MP_MOTIF_SPECIAL_H
14#define ALI_MP_MOTIF_SPECIAL_H
15
16#include "AliMpContainers.h"
17
18#include "AliMpVMotif.h"
19#ifdef WITH_ROOT
20#include "AliMpExMap.h"
21#endif
22
23#include <TVector2.h>
24#ifdef WITH_ROOT
25#include <TObjArray.h>
26#endif
27
28#ifdef WITH_STL
29#include <vector>
30#endif
31
32class TString;
33
34class AliMpMotifSpecial : public AliMpVMotif
35{
36 public:
37#ifdef WITH_STL
38 typedef std::vector< TVector2 > DimensionsMap;
39 typedef std::vector< TVector2 > DimensionsMap2;
40#endif
41#ifdef WITH_ROOT
42 typedef AliMpExMap DimensionsMap;
43 typedef TObjArray DimensionsMap2;
44#endif
45
46 public:
47 AliMpMotifSpecial(const TString &id, AliMpMotifType *motifType);
48 AliMpMotifSpecial();
49 virtual ~AliMpMotifSpecial();
50
51 // Access methods
52 virtual TVector2 GetPadDimensions(const AliMpIntPair& localIndices) const;
53 virtual Int_t GetNofPadDimensions() const;
54 virtual TVector2 GetPadDimensions(Int_t i) const;
55
56 // Set methods
57 void SetPadDimensions(const AliMpIntPair& localIndices,
58 const TVector2& dimensions);
59
60 // Geometry
61 void CalculateDimensions();
62 virtual TVector2 Dimensions() const;
63
64 // Other methods
65 virtual TVector2 PadPositionLocal(const AliMpIntPair& localIndices) const;
66 virtual AliMpIntPair PadIndicesLocal(const TVector2& localPos) const;
67
68 private:
69 // methods
70 Int_t VectorIndex(const AliMpIntPair& indices) const;
71
72 // data members
73 TVector2 fDimensions; ///< motif dimensions
74 DimensionsMap fPadDimensionsVector; ///< the vector of pad dimensions
75 DimensionsMap2 fPadDimensionsVector2; ///< the vector of different pad dimensions
76
77 ClassDef(AliMpMotifSpecial,2) // A motif with its ID
78};
79
80#endif //ALI_MP_MOTIF_SPECIAL_H