]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/mapping/AliMpPlane.h
Update for station2:
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPlane.h
CommitLineData
5f91c9e8 1// $Id$
2// Category: plane
3//
4// Class AliMpPlane
5// ----------------
6// Class represents the plane composed of 4 sector positions:
7//
8// I. FS II. | I.
9// II. BS inverted in x _____ | ____
10// III. FS inverted in x, y |
11// IV. BS inverted in y III. | IV.
12//
13// FS - front sector
14// BS - back sector
15//
16// Authors: David Guez, Ivana Hrivnacova; IPN Orsay
17
18#ifndef ALI_MP_PLANE_H
19#define ALI_MP_PLANE_H
20
21#include <TObject.h>
5f91c9e8 22
23#include "AliMpPlaneTypes.h"
874eaf96 24#include "AliMpStationType.h"
5f91c9e8 25#include "AliMpPlaneType.h"
874eaf96 26
27class TVector2;
5f91c9e8 28
29class AliMpSector;
30class AliMpSectorPosition;
874eaf96 31class AliMpIntPair;
5f91c9e8 32
33class AliMpPlane : public TObject
34{
35 public:
36 AliMpPlane(AliMpSector* frontSector, AliMpSector* backSector,
37 const TVector2& q1Position, const TVector2& q2Position,
38 const TVector2& q3Position, const TVector2& q4Position);
39 AliMpPlane();
40 virtual ~AliMpPlane();
41
42 // factory methods
874eaf96 43 static AliMpPlane* Create(AliMpStationType station, AliMpPlaneType type,
5f91c9e8 44 const TVector2& q1Position, const TVector2& q2Position,
45 const TVector2& q3Position, const TVector2& q4Position);
874eaf96 46 static AliMpPlane* Create(AliMpStationType station, AliMpPlaneType type);
5f91c9e8 47
48 // methods
49 const AliMpSectorPosition* SectorPosition(const AliMpIntPair& scale) const;
50
51 // get methods
52 const AliMpSector* GetFrontSector() const;
53 const AliMpSector* GetBackSector() const;
54 Int_t GetNofSectorPositions() const;
55 AliMpSectorPosition* GetSectorPosition(Int_t i) const;
56
57 private:
58 // data members
59 const AliMpSector* fkFrontSector; // front sector in the 1st quadrant
60 const AliMpSector* fkBackSector; // back sector in the 1st quadrant
61 SectorPositionVector fSectorPositions; // sector positions
62
63 ClassDef(AliMpPlane,1) //Plane
64};
65
66// inline functions
67
68inline const AliMpSector* AliMpPlane::GetFrontSector() const
69{ return fkFrontSector; }
70
71inline const AliMpSector* AliMpPlane::GetBackSector() const
72{ return fkBackSector; }
73
74#endif //ALI_MP_PLANE_H
75