asgardpy.analysis.step.AnalysisStep.create()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nop 3
dl 0
loc 7
rs 10
c 0
b 0
f 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