]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliColourStore.cxx
added Configure(); corrected Construct()
[u/mrichter/AliRoot.git] / AliGeant4 / AliColourStore.cxx
CommitLineData
676fb573 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
13AliColourStore* AliColourStore::fgInstance = 0;
14
15// lifecycle
16
17AliColourStore::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
37AliColourStore::AliColourStore(const AliColourStore& right) {
38//
39 AliGlobals::Exception(
40 "Attempt to copy AliColourStore singleton.");
41}
42
43AliColourStore::~AliColourStore() {
44//
45}
46
47// operators
48
49AliColourStore& 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
62AliColourStore* 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
77G4Colour 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
95G4String 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
110G4String 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}