Skip to content

Replace use of AtTabInfo with AtSubject/AtObserver implementation in DataHandling namespace  #205

@anthoak13

Description

@anthoak13

AtTabInfo is only really used in AtTabMacro, and could be replaced with the subject/observer implementation. It would keep multiple instances of tracking information that may be updated asynchronously and shared across different classes from being in use simultaneously.

Some other class use the AtTabInfoFairRoot class, but not in a way that is required. By design that class is basically an observer in use, just the observing is left to the AtTab class and AtTabInfoFairRoot just acts as a wrapper for a DataHandling::AtBranch subject with easy access to the underlying data (with a similar interface to a smart pointer). This use does not require implementing the AtTabInfo base class. Instead you could have something like an DataHandling::AtFairRoot<T> that keeps the same interface as AtTabFairRoot, but is an DataHandling::AtSubject (which can let its observers know when the underlying object it is referring too has changed) and it is an DataHandling::AtObserver that gets notified if either the branch it is observing, or the event number in the event, has changed. It would also allow for a common interface for accessing entries in the underlying TClonesArray if there is not just one entry (like in the AtMCFitter implementation).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions