|
|
|||
File indexing completed on 2026-08-06 09:20:02
0001 0002 /*********************************************************************** 0003 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors * 0004 * * 0005 * This file is part of EvtGen. * 0006 * * 0007 * EvtGen is free software: you can redistribute it and/or modify * 0008 * it under the terms of the GNU General Public License as published by * 0009 * the Free Software Foundation, either version 3 of the License, or * 0010 * (at your option) any later version. * 0011 * * 0012 * EvtGen is distributed in the hope that it will be useful, * 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0015 * GNU General Public License for more details. * 0016 * * 0017 * You should have received a copy of the GNU General Public License * 0018 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. * 0019 ***********************************************************************/ 0020 0021 #ifndef EVTMODEL_HH 0022 #define EVTMODEL_HH 0023 0024 #include "EvtGenBase/EvtDecayBase.hh" 0025 #include "EvtGenBase/EvtStringHash.hh" 0026 0027 #include <map> 0028 //#include <fstream.h> 0029 0030 //Class to read in and handle the decays available 0031 //to EvtGen for each particle, and the model to be 0032 //used for each one. 0033 0034 class EvtModel { 0035 public: 0036 static EvtModel& instance(); 0037 0038 void registerModel( EvtDecayBase* prototype ); 0039 0040 int isModel( std::string name ); 0041 0042 EvtDecayBase* getFcn( std::string model_name ); 0043 0044 int isCommand( std::string cmd ); 0045 void storeCommand( std::string cmd, std::string cnfgstr ); 0046 0047 private: 0048 EvtModel(); 0049 0050 static EvtModel* _instance; 0051 0052 std::map<std::string, EvtDecayBase*> _modelNameHash; 0053 std::map<std::string, EvtDecayBase*> _commandNameHash; 0054 }; 0055 0056 inline EvtModel& EvtModel::instance() 0057 { 0058 if ( _instance == 0 ) 0059 _instance = new EvtModel; 0060 return *_instance; 0061 } 0062 0063 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|