Correct use of ROOT_INCLUDE_DIR
[u/mrichter/AliRoot.git] / MUON / MUONmapping / AliMpDEStore.h
CommitLineData
f0c62051 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"
4e51cfd2 23#include "AliMpStation12Type.h"
f0c62051 24
25class AliMpDetElement;
ab167304 26class AliMpDataStreams;
2eee683c 27class TString;
f0c62051 28
29class AliMpDEStore : public TObject {
30
31 friend class AliMpDEIterator;
32
33 public:
7d5d0cc5 34 AliMpDEStore(TRootIOCtor* ioCtor);
f0c62051 35 virtual ~AliMpDEStore();
36
37 // static access method
ac17c583 38 static AliMpDEStore* Instance(Bool_t warn = true);
ab167304 39 static AliMpDEStore* ReadData(const AliMpDataStreams& dataStreams,
40 Bool_t warn = true);
f0c62051 41
42 // methods
43 AliMpDetElement* GetDetElement(Int_t detElemId, Bool_t warn = true) const;
2eee683c 44 AliMpDetElement* GetDetElement(const TString& detName, Bool_t warn = true) const;
f0c62051 45
46 private:
ab167304 47 AliMpDEStore(const AliMpDataStreams& dataStreams);
48 /// Not implemented
f0c62051 49 AliMpDEStore();
71a2d3aa 50 /// Not implemented
f0c62051 51 AliMpDEStore(const AliMpDEStore& rhs);
71a2d3aa 52 /// Not implemented
f0c62051 53 AliMpDEStore& operator=(const AliMpDEStore& rhs);
54
55 // methods
56 Bool_t IsPlaneType(const TString& planeTypeName);
4e51cfd2 57
21027e5a 58 Bool_t ReadDENames(const AliMpDataStreams& dataStreams,
59 AliMp::StationType stationType,
4e51cfd2 60 AliMq::Station12Type station12Type = AliMq::kNotSt12);
21027e5a 61 void FillDEs(const AliMpDataStreams& dataStreams);
f0c62051 62
63 // static data members
64 static AliMpDEStore* fgInstance; ///< Singleton instance
65 static const char fgkCommentPrefix; ///< Comment prefix in DE names file
66
67 // data members
ab167304 68 AliMpExMap fDetElements; ///< Map between DE Ids and DE objects
f0c62051 69
70 ClassDef(AliMpDEStore,1) // The manager class for definition of detection element types
71};
72
73#endif //ALI_MP_MANAGER_H
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88