]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4ProcessMCMap.h
added fWorld attribute and its setter/getter
[u/mrichter/AliRoot.git] / TGeant4 / TG4ProcessMCMap.h
CommitLineData
27703356 1// $Id$
2// Category: physics
3//
4// Author: I. Hrivnacova
5//
6// Class TG4ProcessMCMap
7// ---------------------
8// Singleton map container for associated pairs
9// of G4 process name and AliMCProcess code.
10
11#ifndef TG4_PROCESS_MC_MAP_H
12#define TG4_PROCESS_MC_MAP_H
13
14#include <g4std/map>
15#include <globals.hh>
16
17#include <Rtypes.h>
18#include "AliMCProcess.h"
19
20class G4VProcess;
21
22class TG4ProcessMCMap
23{
24 typedef G4std::map<G4String, AliMCProcess, G4std::less<G4String> > Map;
25 typedef Map::iterator MapIterator;
26 typedef Map::const_iterator MapConstIterator;
27
28 public:
29 TG4ProcessMCMap();
30 // --> protected
31 // TG4ProcessMCMap(const TG4ProcessMCMap& right);
32 virtual ~TG4ProcessMCMap();
33
34 // static access method
35 static TG4ProcessMCMap* Instance();
36
37 // methods
38 G4bool Add(G4VProcess* process, AliMCProcess second);
39 G4bool Add(G4String processName, AliMCProcess second);
40 void PrintAll() const;
41 void Clear();
42
43 // get methods
44 AliMCProcess GetMCProcess(const G4VProcess* process);
45 AliMCProcess GetMCProcess(const G4String& processName);
46 G4String GetMCProcessName(const G4VProcess* process);
47 G4String GetMCProcessName(const G4String& processName);
48
49 protected:
50 TG4ProcessMCMap(const TG4ProcessMCMap& right);
51
52 // operators
53 TG4ProcessMCMap& operator=(const TG4ProcessMCMap& right);
54
55 private:
56 // methods
57 G4bool IsDefined(const G4String& processName);
58
59 // static data members
60 static TG4ProcessMCMap* fgInstance; //this instance
61
62 // data members
63 Map fMap; //map container
64};
65
66// inline methods
67
68inline TG4ProcessMCMap* TG4ProcessMCMap::Instance()
69{ return fgInstance; }
70
71#endif //TG4_PROCESS_MC_MAP_H