]> git.uio.no Git - u/mrichter/AliRoot.git/blame - DISPLAY/AliModuleInfo.h
Splitting of the ITS libraries (M.Masera & E.Crescio)
[u/mrichter/AliRoot.git] / DISPLAY / AliModuleInfo.h
CommitLineData
7bb7ac14 1#ifndef ALIMODULEINFO_H
2#define ALIMODULEINFO_H
3/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/////////////////////////////////////////////////////////////////////////
7// ALICE MODULE INFORMATION CLASS //
8// Author: Mayeul ROUSSELET //
9// e-mail: Mayeul.Rousselet@cern.ch //
10// Last update:26/08/2003 //
11/////////////////////////////////////////////////////////////////////////
12
13#include <Rtypes.h>
14
15class AliModuleInfo{
16 public:
17 AliModuleInfo(int n);
18 AliModuleInfo(const AliModuleInfo& rh);
19 AliModuleInfo& operator = (const AliModuleInfo& rh);
20
21 virtual ~AliModuleInfo();
22
23 void SetId(const char* name,Int_t id);
24 void Add(const char * name,Int_t i);
25 Int_t Id(const char *name) const;
26 const char* Name(Int_t id) const;
27 Bool_t IsEnabled(Int_t id) const;
28 Bool_t IsEnabled(const char *name) const {return IsEnabled(Id(name));};
29 void Disable(Int_t id);
30 void Disable(const char* name){Disable(Id(name));};
31 void Enable(Int_t id);
32 void Enable(const char *name){Enable(Id(name));};
33 void Print() const;
34
35 private:
36 //The purposes of this class is to link each module to its Id
37 char **fName; // Array containing the names of the modules
38 Int_t *fId; // Array of module's Ids
39 Bool_t *fEnabled; // Array of flags to enable/disable modules
40 Int_t fNb; // Number of modules
41
42 ClassDef(AliModuleInfo,0);
43};
44
45#endif