Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-06-01 07:07:44

0001 # A plugin generator
0002 
0003 from .mini_plugin_generator import generate_mini_analysis_plugin
0004 
0005 plugin_generators = {
0006     'mini_analysis': generate_mini_analysis_plugin
0007 }
0008 
0009 
0010 def generate_plugin(plugin_type, **params):
0011     """ Generates a directory with jana plugin.
0012 
0013     Known plugin types:
0014         mini_analysis
0015 
0016     Usual parameters:
0017         plugin_name - snake_case defined name (directory name will correspond to it)
0018         class_name  - CamelCase defined name (Related C++ class names will have this name)
0019         path        - Path to the directory with plugin, otherwise current dir is used
0020 
0021     """
0022 
0023     # check if this plugin generator is known
0024     if plugin_type not in plugin_generators:
0025         message = f"plugin_type provided to generate_plugin function is unknown. Please use one of: " +\
0026                     " ".join([name for name in plugin_generators.keys()])
0027         raise ValueError(message)
0028 
0029     plugin_generators[plugin_type](**params)