2 // Category: visualization
4 // See the class description in the header file.
6 #include "AliColourStore.h"
7 #include "AliGlobals.h"
9 #include <G4Element.hh>
11 // static data members
13 AliColourStore* AliColourStore::fgInstance = 0;
17 AliColourStore::AliColourStore() {
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));
37 AliColourStore::AliColourStore(const AliColourStore& right) {
39 AliGlobals::Exception(
40 "Attempt to copy AliColourStore singleton.");
43 AliColourStore::~AliColourStore() {
49 AliColourStore& AliColourStore::operator=(const AliColourStore& right)
51 // check assignement to self
52 if (this == &right) return *this;
54 AliGlobals::Exception(
55 "Attempt to assign AliColourStore singleton.");
62 AliColourStore* AliColourStore::Instance()
64 // Returns the singleton instance.
65 // Creates the instance if it does not exist.
68 if (fgInstance == 0 ) {
69 fgInstance = new AliColourStore();
77 G4Colour AliColourStore::GetColour(G4String name) const
79 // Retrieves the colour by name.
82 G4int nofCol = fColours.entries();
83 for (G4int i=0; i<nofCol; i++)
85 AliColour alColour = fColours[i];
86 if (name == alColour.GetName())
87 { return alColour.GetColour(); }
90 G4String text = "Colour " + name + " is not defined.";
91 AliGlobals::Exception(text);
95 G4String AliColourStore::GetColoursList() const
97 // Returns the list of all defined colours names.
101 G4int nofCol = fColours.entries();
102 for (G4int i=0; i<nofCol; i++)
104 list += fColours[i].GetName();
110 G4String AliColourStore::GetColoursListWithCommas() const
112 // Returns the list of all defined colours names
117 G4int nofCol = fColours.entries();
118 for (G4int i=0; i<nofCol; i++)
120 list += fColours[i].GetName();
121 if (i < nofCol-1) list += ", ";