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