2 // Category: visualization
4 // See the class description in the header file.
6 #include "AliColourStore.h"
8 #include "AliGlobals.h"
10 #include <G4Element.hh>
12 // static data members
14 AliColourStore* AliColourStore::fgInstance = 0;
18 AliColourStore::AliColourStore() {
20 fColours.insert(AliColour("White", 1.0, 1.0, 1.0));
21 fColours.insert(AliColour("Black", 0.0, 0.0, 0.0));
22 fColours.insert(AliColour("Red", 1.0, 0.0, 0.0));
23 fColours.insert(AliColour("RoseDark", 1.0, 0.0, 0.5));
24 fColours.insert(AliColour("Green", 0.0, 1.0, 0.0));
25 fColours.insert(AliColour("Green2", 0.0, 1.0, 0.5));
26 fColours.insert(AliColour("GreenClair",0.5, 1.0, 0.0));
27 fColours.insert(AliColour("Yellow", 1.0, 1.0, 0.0));
28 fColours.insert(AliColour("BlueDark", 0.0, 0.0, 1.0));
29 fColours.insert(AliColour("BlueClair", 0.0, 1.0, 1.0));
30 fColours.insert(AliColour("BlueClair2",0.0, 0.5, 1.0));
31 fColours.insert(AliColour("Magenta", 1.0, 0.0, 1.0));
32 fColours.insert(AliColour("Magenta2", 0.5, 0.0, 1.0));
33 fColours.insert(AliColour("BrownClair",1.0, 0.5, 0.0));
34 fColours.insert(AliColour("Gray", 0.3, 0.3, 0.3));
35 fColours.insert(AliColour("GrayClair", 0.6, 0.6, 0.6));
38 AliColourStore::AliColourStore(const AliColourStore& right) {
40 AliGlobals::Exception(
41 "Attempt to copy AliColourStore singleton.");
44 AliColourStore::~AliColourStore() {
50 AliColourStore& AliColourStore::operator=(const AliColourStore& right)
52 // check assignement to self
53 if (this == &right) return *this;
55 AliGlobals::Exception(
56 "Attempt to assign AliColourStore singleton.");
63 AliColourStore* AliColourStore::Instance()
65 // Returns the singleton instance.
66 // Creates the instance if it does not exist.
69 if (fgInstance == 0 ) {
70 fgInstance = new AliColourStore();
78 G4Colour AliColourStore::GetColour(G4String name) const
80 // Retrieves the colour by name.
83 G4int nofCol = fColours.entries();
84 for (G4int i=0; i<nofCol; i++)
86 AliColour alColour = fColours[i];
87 if (name == alColour.GetName())
88 { return alColour.GetColour(); }
91 G4String text = "Colour " + name + " is not defined.";
92 AliGlobals::Exception(text);
96 G4String AliColourStore::GetColoursList() const
98 // Returns the list of all defined colours names.
102 G4int nofCol = fColours.entries();
103 for (G4int i=0; i<nofCol; i++)
105 list += fColours[i].GetName();
111 G4String AliColourStore::GetColoursListWithCommas() const
113 // Returns the list of all defined colours names
118 G4int nofCol = fColours.entries();
119 for (G4int i=0; i<nofCol; i++)
121 list += fColours[i].GetName();
122 if (i < nofCol-1) list += ", ";