@startuml left to right direction RifSummaryReaderInterface <|-- RifCalculatedSummaryCurveReader RifSummaryReaderInterface <|-- RifColumnBasedUserData RifSummaryReaderInterface <|-- RifCsvUserData RifSummaryReaderInterface <|-- RifKeywordVectorUserData RifSummaryReaderInterface <|-- RifReaderEclipseSummary RifSummaryReaderInterface <|-- RifReaderObservedData RifSummaryReaderInterface <|-- RifEnsembleStatisticsReader RifColumnBasedUserData *-- "1" RifColumnBasedUserDataParser RifKeywordVectorUserData *-- "1" RifKeywordVectorUserDataParser RifReaderObservedData --> RifCsvUserDataParser RimSummaryCaseCollection -> "*" RimSummaryCase RimSummaryCase <|-- RimCalculatedSummaryCase RimSummaryCase <|-- RimFileSummaryCase RimSummaryCase <|-- RimGridSummaryCase RimSummaryCase <|-- RimObservedData RimObservedData <|-- RimObservedEclipseUserData RimObservedData <|-- RimCsvUserData RimObservedData <|-- RimSummaryObservedDataFile RimCalculatedSummaryCase --> RifCalculatedSummaryCurveReader RimSummaryObservedDataFile --> RifReaderObservedData RimObservedEclipseUserData *--> RifSummaryReaderInterface RimCsvUserData -> RicPasteAsciiDataToSummaryPlotFeatureUi RimCsvUserData --> RifCsvUserData RimFileSummaryCase *--> RifReaderEclipseSummary RimGridSummaryCase *--> RifReaderEclipseSummary RicPasteAsciiDataToSummaryPlotFeatureUi --> RifCsvUserDataParser RimEnsembleCurveSet -> "1" RimSummaryCaseCollection RimEnsembleCurveSet --> "1" RimEnsembleStatisticsCase RimEnsembleStatisticsCase --> RifEnsembleStatisticsReader @enduml