]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpSegFactory.h
- Reordering includes and/or
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSegFactory.h
1 #ifndef ALI_MP_SEG_FACTORY_H
2 #define ALI_MP_SEG_FACTORY_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 /// \ingroup management
10 /// \class AliMpSegFactory
11 /// \brief The factory for building mapping segmentations
12 //
13 /// The factory does not delete the created segmentation objects.
14 /// They have to be deleted in the client code.
15 /// As the same segmentation objects can be shared with more detection elements,
16 /// the class provides Clear() method for a safe deleting.
17 ///
18 /// Authors: Ivana Hrivnacova, IPN Orsay
19
20 #ifndef ROOT_TObject
21 #  include "TObject.h"
22 #endif
23
24 #ifndef ALI_MP_STRING_OBJ_MAP_H
25 #  include "AliMpStringObjMap.h"
26 #endif
27
28 class AliMpExMap;
29 class AliMpVSegmentation;
30
31 class AliMpSegFactory : public  TObject {
32
33   public:
34     AliMpSegFactory();
35     virtual ~AliMpSegFactory();
36     
37     // methods
38     AliMpVSegmentation* CreateMpSegmentation(
39                               Int_t detElemId, Int_t cath);
40
41     AliMpVSegmentation* CreateMpSegmentationByElectronics(
42                               Int_t detElemId, Int_t elCardID);
43
44     void DeleteSegmentations();
45
46   protected:
47     AliMpSegFactory(const AliMpSegFactory& rhs);
48     AliMpSegFactory& operator=(const AliMpSegFactory& rhs);
49
50   private:
51     AliMpExMap* FillMpMap(Int_t detElemId);
52   
53   private:
54
55     AliMpStringObjMap  fMpSegmentations;// Map of mapping segmentations to DE names
56     AliMpExMap*        fMpMap;          // Map of el. cards IDs to segmentations
57       
58   ClassDef(AliMpSegFactory,0)  // MUON Factory for Chambers and Segmentation
59 };
60
61 #endif //ALI_MP_SEG_FACTORY_H
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76