from CellData import CellData from models.LIFACnoise import LifacNoiseModel class SamAnalysis: pass class SamAnalysisData(SamAnalysis): pass class SamAnalysisModel(SamAnalysis): pass def get_sam_class(data) -> SamAnalysis: if isinstance(data, CellData): return SamAnalysisData(data) if isinstance(data, LifacNoiseModel): return SamAnalysisModel(data) raise ValueError("Unknown type: Cannot find corresponding SamAnalysis class. data was type:" + str(type(data)))