]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpPlane.h
Coding conventions corrections only
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpPlane.h
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>
22
23 #include "AliMpPlaneTypes.h"
24 #include "AliMpStationType.h"
25 #include "AliMpPlaneType.h"
26
27 class TVector2;
28
29 class AliMpSector;
30 class AliMpSectorPosition;
31 class AliMpIntPair;
32
33 class 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
43     static AliMpPlane* Create(AliMpStationType station, AliMpPlaneType type,
44                const TVector2& q1Position, const TVector2& q2Position,
45                const TVector2& q3Position, const TVector2& q4Position);
46     static AliMpPlane* Create(AliMpStationType station, AliMpPlaneType type);
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
68 inline const AliMpSector* AliMpPlane::GetFrontSector() const
69 { return fkFrontSector; }
70
71 inline const AliMpSector* AliMpPlane::GetBackSector() const
72 { return fkBackSector; }
73
74 #endif //ALI_MP_PLANE_H
75