]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliColourStore.cxx
Initial version
[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"
c97337f9 7#include "AliColour.h"
676fb573 8#include "AliGlobals.h"
9
10#include <G4Element.hh>
11
12// static data members
13
78ca1e9c 14//_____________________________________________________________________________
676fb573 15AliColourStore* AliColourStore::fgInstance = 0;
16
17// lifecycle
18
78ca1e9c 19//_____________________________________________________________________________
676fb573 20AliColourStore::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
78ca1e9c 40//_____________________________________________________________________________
676fb573 41AliColourStore::AliColourStore(const AliColourStore& right) {
42//
43 AliGlobals::Exception(
44 "Attempt to copy AliColourStore singleton.");
45}
46
78ca1e9c 47//_____________________________________________________________________________
676fb573 48AliColourStore::~AliColourStore() {
49//
50}
51
52// operators
53
78ca1e9c 54//_____________________________________________________________________________
676fb573 55AliColourStore& 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
78ca1e9c 68//_____________________________________________________________________________
676fb573 69AliColourStore* 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
78ca1e9c 84//_____________________________________________________________________________
676fb573 85G4Colour 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
78ca1e9c 103//_____________________________________________________________________________
676fb573 104G4String 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
78ca1e9c 119//_____________________________________________________________________________
676fb573 120G4String 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}