]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliColourStore.cxx
private method GetSDConstruction() added; AliSDManager usage replaced with AliSDConst...
[u/mrichter/AliRoot.git] / AliGeant4 / AliColourStore.cxx
1 // $Id$
2 // Category: visualization
3 //
4 // See the class description in the header file.
5
6 #include "AliColourStore.h"
7 #include "AliColour.h"
8 #include "AliGlobals.h"
9
10 #include <G4Element.hh>
11
12 // static data members
13
14 //_____________________________________________________________________________
15 AliColourStore* AliColourStore::fgInstance = 0;
16
17 // lifecycle
18
19 //_____________________________________________________________________________
20 AliColourStore::AliColourStore() {
21 //
22   fColours.insert(AliColour("White",     1.0, 1.0, 1.0));    
23   fColours.insert(AliColour("Black",     0.0, 0.0, 0.0));     
24   fColours.insert(AliColour("Red",       1.0, 0.0, 0.0));   
25   fColours.insert(AliColour("RoseDark",  1.0, 0.0, 0.5));  
26   fColours.insert(AliColour("Green",     0.0, 1.0, 0.0));     
27   fColours.insert(AliColour("Green2",    0.0, 1.0, 0.5));     
28   fColours.insert(AliColour("GreenClair",0.5, 1.0, 0.0));
29   fColours.insert(AliColour("Yellow",    1.0, 1.0, 0.0));     
30   fColours.insert(AliColour("BlueDark",  0.0, 0.0, 1.0)); 
31   fColours.insert(AliColour("BlueClair", 0.0, 1.0, 1.0)); 
32   fColours.insert(AliColour("BlueClair2",0.0, 0.5, 1.0));
33   fColours.insert(AliColour("Magenta",   1.0, 0.0, 1.0));    
34   fColours.insert(AliColour("Magenta2",  0.5, 0.0, 1.0));   
35   fColours.insert(AliColour("BrownClair",1.0, 0.5, 0.0));
36   fColours.insert(AliColour("Gray",      0.3, 0.3, 0.3));    
37   fColours.insert(AliColour("GrayClair", 0.6, 0.6, 0.6));
38 }
39
40 //_____________________________________________________________________________
41 AliColourStore::AliColourStore(const AliColourStore& right) {
42 // 
43   AliGlobals::Exception(
44     "Attempt to copy AliColourStore singleton.");
45 }
46
47 //_____________________________________________________________________________
48 AliColourStore::~AliColourStore() {
49 //
50 }
51
52 // operators
53
54 //_____________________________________________________________________________
55 AliColourStore& AliColourStore::operator=(const AliColourStore& right)
56 {
57   // check assignement to self
58   if (this == &right) return *this;
59
60   AliGlobals::Exception(
61     "Attempt to assign AliColourStore singleton.");
62     
63   return *this;  
64 }    
65
66 // static methods
67   
68 //_____________________________________________________________________________
69 AliColourStore* AliColourStore::Instance() 
70 {
71 // Returns the singleton instance.
72 // Creates the instance if it does not exist.
73 // ---
74
75   if (fgInstance == 0 ) {
76     fgInstance = new AliColourStore();
77   }
78   
79   return fgInstance;
80 }
81
82 // public methods
83
84 //_____________________________________________________________________________
85 G4Colour AliColourStore::GetColour(G4String name) const
86 {
87 // Retrieves the colour by name.
88 // ---
89
90   G4int nofCol = fColours.entries();
91   for (G4int i=0; i<nofCol; i++)
92   {
93     AliColour alColour = fColours[i];
94     if (name == alColour.GetName()) 
95     { return alColour.GetColour(); }
96   }
97   
98   G4String text = "Colour " + name + " is not defined.";
99   AliGlobals::Exception(text);
100   return 0;
101 }
102     
103 //_____________________________________________________________________________
104 G4String AliColourStore::GetColoursList() const
105 {
106 // Returns the list of all defined colours names.
107 // ---
108
109   G4String list = "";
110   G4int nofCol = fColours.entries();
111   for (G4int i=0; i<nofCol; i++)
112   {
113     list += fColours[i].GetName();
114     list += " ";
115   };
116   return list;
117
118        
119 //_____________________________________________________________________________
120 G4String AliColourStore::GetColoursListWithCommas() const
121 {
122 // Returns the list of all defined colours names
123 // with commas.
124 // ---
125
126   G4String list = "";
127   G4int nofCol = fColours.entries();
128   for (G4int i=0; i<nofCol; i++)
129   {
130     list += fColours[i].GetName();
131     if (i < nofCol-1) list += ", ";
132   };
133   return list;
134