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