Total Complexity | 1 |
Total Lines | 38 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | """ |
||
2 | Main Class for the intermediate High-level Analysis Steps |
||
3 | """ |
||
4 | |||
5 | from gammapy.utils.registry import Registry |
||
6 | |||
7 | from asgardpy.data import ( |
||
8 | Datasets1DAnalysisStep, |
||
9 | Datasets3DAnalysisStep, |
||
10 | FitAnalysisStep, |
||
11 | FluxPointsAnalysisStep, |
||
12 | ) |
||
13 | |||
14 | __all__ = ["AnalysisStep"] |
||
15 | |||
16 | ANALYSIS_STEP_REGISTRY = Registry( |
||
17 | [ |
||
18 | Datasets1DAnalysisStep, |
||
19 | Datasets3DAnalysisStep, |
||
20 | FitAnalysisStep, |
||
21 | FluxPointsAnalysisStep, |
||
22 | ] |
||
23 | ) |
||
24 | |||
25 | |||
26 | class AnalysisStep: |
||
27 | """ |
||
28 | Base class for creating Asgardpy Analysis Steps. |
||
29 | """ |
||
30 | |||
31 | @staticmethod |
||
32 | def create(tag, config, **kwargs): |
||
33 | """ |
||
34 | Create one of the Analysis Step class listed in the Registry. |
||
35 | """ |
||
36 | cls = ANALYSIS_STEP_REGISTRY.get_cls(tag) |
||
37 | return cls(config, **kwargs) |
||
38 |