New class - the factory for building mapping segmentations
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpSegFactory.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 /// \ingroup management
7 /// \class AliMpSegFactory
8 /// \brief The factory for building mapping segmentations
9 //
10 /// The factory does not delete the created segmentation objects.
11 /// They have to be deleted in the client code.
12 /// As the same segmentation objects can be shared with more detection elements,
13 /// the class provides Clear() method for a safe deleting.
14 ///
15 /// Authors: Ivana Hrivnacova, IPN Orsay
16
17 #ifndef ALI_MP_SEG_FACTORY_H
18 #define ALI_MP_SEG_FACTORY_H
19
20 #include "AliMpStringObjMap.h"
21
22 #include <TObject.h>
23
24 class AliMpVSegmentation;
25
26 class AliMpSegFactory : public  TObject {
27
28   public:
29     AliMpSegFactory();
30     virtual ~AliMpSegFactory();
31     
32     // methods
33     AliMpVSegmentation* CreateMpSegmentation(Int_t detElemId, Int_t cath);
34     void Delete(const Option_t* opt = "");
35
36   protected:
37     AliMpSegFactory(const AliMpSegFactory& rhs);
38     AliMpSegFactory& operator=(const AliMpSegFactory& rhs);
39
40   private:
41     // data members     
42     AliMpStringObjMap  fMpSegmentations;// Map of mapping segmentations to DE names
43
44   ClassDef(AliMpSegFactory,0)  // MUON Factory for Chambers and Segmentation
45 };
46
47 #endif //ALI_MP_SEG_FACTORY_H
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62