From Laurent:
[u/mrichter/AliRoot.git] / MUON / AliMUONVGeometryDESegmentation.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 /* $Id$ */
5
6 //
7 // Class AliVMUONGeometryDESegmentation
8 // ----------------------------------
9 // Extension for AliSegmentation interface,
10 // added functions:
11 //  Bool_t  HasPad(Float_t x, Float_t y, Float_t z);
12 //  Bool_t  HasPad(Int_t ix, Int_t iy);
13 //
14 // Author:Ivana Hrivnacova, IPN Orsay
15
16 #ifndef ALI_MUON_V_GEOMETRY_DE_SEGMENTATION_H
17 #define ALI_MUON_V_GEOMETRY_DE_SEGMENTATION_H
18
19 #include "AliSegmentation.h"
20 #include "AliMUONGeometryDirection.h"
21
22 class AliMUONSegmentManuIndex;
23
24 class AliMUONVGeometryDESegmentation : public AliSegmentation
25 {
26   public:
27     AliMUONVGeometryDESegmentation();
28     virtual ~AliMUONVGeometryDESegmentation();
29
30     // methods
31     virtual Bool_t  HasPad(Float_t x, Float_t y, Float_t z) = 0; 
32                        // Returns true if a pad exists in the given position
33     virtual Bool_t  HasPad(Int_t ix, Int_t iy) = 0;
34                        // Returns true if a pad with given indices exists
35
36     virtual AliMUONGeometryDirection  GetDirection() = 0;
37                        // Returns the direction with a constant pad size  
38                        // (Direction or coordinate where the spatial resolution 
39                        // is the best)
40                        // Normally kDirY will correspond with cathode segmentation 
41                        // for the bending plane and kDirX with cathode segmentation 
42                        // for the non bending plane
43
44     virtual void     GetPadE(Int_t &ix, Int_t &iy,  AliMUONSegmentManuIndex* connect) = 0;
45     virtual AliMUONSegmentManuIndex*     GetMpConnection(Int_t ix, Int_t iy) = 0;
46
47   protected:
48     AliMUONVGeometryDESegmentation(const AliMUONVGeometryDESegmentation& rhs);
49   
50     // operators
51     AliMUONVGeometryDESegmentation& operator=(
52       const AliMUONVGeometryDESegmentation & rhs);
53
54    ClassDef(AliMUONVGeometryDESegmentation,1) // Det element segmentation interface
55 };
56
57 #endif //ALI_MUON_V_GEOMETRY_DE_SEGMENTATION_H
58
59
60
61
62
63
64
65