]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliColourStore.h
tag v3-06-Release commented
[u/mrichter/AliRoot.git] / AliGeant4 / AliColourStore.h
1 // $Id$
2 // Category: visualization
3 //
4 // Author: I. Hrivnacova
5 //
6 // Class AliColourStore
7 // --------------------
8 // Singleton data type class - store for the predefined colours.
9
10 #ifndef ALI_COLOUR_STORE_H
11 #define ALI_COLOUR_STORE_H
12
13 #include <G4Colour.hh>
14  
15 class AliColour;
16
17 #include <g4std/vector>
18
19 class AliColourStore 
20 {
21   typedef G4std::vector<AliColour>     ColourVector;
22   typedef ColourVector::iterator       ColourIterator;
23   typedef ColourVector::const_iterator ColourConstIterator;
24
25   public:
26     // --> protected
27     // AliColourStore();
28     // AliColourStore(const AliColourStore& right);
29     virtual ~AliColourStore();
30     
31     // static methods
32     static AliColourStore* Instance();
33
34     // get methods
35     G4Colour GetColour(G4String name) const;
36     G4String GetColoursList() const;
37     G4String GetColoursListWithCommas() const;
38     
39   protected:
40     AliColourStore();  
41     AliColourStore(const AliColourStore& right);
42
43     // operators
44     AliColourStore& operator=(const AliColourStore& right);
45
46   private:
47     // static data members
48     static AliColourStore*  fgInstance; //this instance
49
50     // data members
51     ColourVector  fColours; //vector of AliColour
52 };   
53
54 #endif //ALI_COLOUR_STORE_H