]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/mapping/AliMpDEStore.h
Adding includes now needed by ROOT
[u/mrichter/AliRoot.git] / MUON / mapping / AliMpDEStore.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 // $MpId: AliMpDEStore.h,v 1.6 2006/05/24 13:58:16 ivana Exp $ 
6
7 /// \ingroup management
8 /// \class AliMpDEStore
9 /// \brief The container class for detection element objects
10 ///
11 /// \author Ivana Hrivnacova, IPN Orsay;
12 ///         Laurent Aphecetche, Christian Finck, SUBATECH Nantes
13
14 #ifndef ALI_MP_DE_STORE_H
15 #define ALI_MP_DE_STORE_H
16
17 #include <TObject.h>
18 #include <TArrayI.h>
19
20 #include "AliMpExMap.h"
21 #include "AliMpPlaneType.h"
22 #include "AliMpStationType.h"
23 #include "AliMpIntPair.h"
24
25 class AliMpDetElement;
26
27 class AliMpDEStore : public  TObject {
28
29   friend class AliMpDEIterator;
30
31   public:
32     AliMpDEStore(TRootIOCtor* /*ioCtor*/);
33     virtual ~AliMpDEStore();
34     
35     // static access method
36     static AliMpDEStore* Instance(); 
37     
38     // methods
39     AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true) const;
40     AliMpIntPair     GetDetElemIdManu(Int_t manuSerial) const;
41     
42   private:
43     AliMpDEStore();
44     AliMpDEStore(const AliMpDEStore& rhs);
45     AliMpDEStore& operator=(const AliMpDEStore& rhs);
46
47     // methods
48     Bool_t IsPlaneType(const TString& planeTypeName);
49     AliMp::PlaneType   PlaneType(const TString& planeTypeName);
50     AliMp::StationType StationType(const TString& stationTypeName);
51
52     Bool_t ReadManuToSerialNbs(AliMpDetElement* detElement, 
53                        AliMp::StationType stationType);
54     Bool_t ReadDENames(AliMp::StationType stationType);
55     void   FillDEs();
56
57     // static data members      
58     static AliMpDEStore* fgInstance;       ///< Singleton instance
59     static const char    fgkCommentPrefix; ///< Comment prefix in DE names file
60
61     // data members     
62     AliMpExMap fDetElements; ///< Map between DE Ids and DE objects
63       
64   ClassDef(AliMpDEStore,1)  // The manager class for definition of detection element types
65 };
66
67 #endif //ALI_MP_MANAGER_H
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82