1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package. If you use all or part
5 // of it, please give an appropriate acknowledgement.
7 // Copyright Information: See EvtGen/COPYRIGHT
8 // Copyright (C) 2012 University of Warwick, UK
10 // Module: EvtExtGeneratorCommandsTable
12 // Description: Table of commands to pass to external generators
14 // Modification history:
16 // Daniel Craik March 2012 Module created
18 //------------------------------------------------------------------------
24 #ifndef EVTEXTGENERATORCOMMANDSTABLE_HH
25 #define EVTEXTGENERATORCOMMANDSTABLE_HH
27 typedef std::map<std::string, std::string> Command;
28 typedef std::vector<Command> GeneratorCommands;
29 typedef std::map<std::string, GeneratorCommands > GlobalCommandMap;
31 class EvtExtGeneratorCommandsTable {
35 static EvtExtGeneratorCommandsTable* getInstance();
37 void addCommand(std::string extGenerator, Command command) { _commandMap[extGenerator].push_back(command); }
38 const GeneratorCommands& getCommands(std::string extGenerator) { return _commandMap[extGenerator]; }
42 EvtExtGeneratorCommandsTable();
43 ~EvtExtGeneratorCommandsTable();
47 GlobalCommandMap _commandMap;
49 EvtExtGeneratorCommandsTable(const EvtExtGeneratorCommandsTable&) {};