ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
Public Types | Public Member Functions | Protected Attributes | List of all members
AtTabInfo Class Reference

Contains all the data needed by an AtTab. More...

#include <AtTabInfo.h>

Inheritance diagram for AtTabInfo:
Inheritance graph
[legend]
Collaboration diagram for AtTabInfo:
Collaboration graph
[legend]

Public Types

using BasePtr = std::shared_ptr< AtTabInfoBase >
 

Public Member Functions

 AtTabInfo ()=default
 
 ~AtTabInfo ()=default
 
std::string GetDefaultName () override
 Default name for info type. More...
 
void AddAugment (BasePtr augment)
 
void AddAugment (BasePtr augment, std::string name)
 
void ReplaceAugment (BasePtr augment)
 
void ReplaceAugment (BasePtr augment, std::string name)
 
BasePtr GetAugment (std::string name)
 
template<typename T , typename std::enable_if_t< std::is_base_of< AtTabInfoBase, T >::value > * = nullptr>
T * GetAugment (std::string name)
 Get Augment cast to anticipated type (which must have the proper base class). More...
 
- Public Member Functions inherited from AtTabInfoBase
 AtTabInfoBase ()=default
 
virtual ~AtTabInfoBase ()=default
 

Protected Attributes

std::map< std::string, BasePtrfInfoAugments
 

Detailed Description

Contains all the data needed by an AtTab.

Definition at line 51 of file AtTabInfo.h.

Member Typedef Documentation

◆ BasePtr

using AtTabInfo::BasePtr = std::shared_ptr<AtTabInfoBase>

Definition at line 53 of file AtTabInfo.h.

Constructor & Destructor Documentation

◆ AtTabInfo()

AtTabInfo::AtTabInfo ( )
default

◆ ~AtTabInfo()

AtTabInfo::~AtTabInfo ( )
default

Member Function Documentation

◆ AddAugment() [1/2]

void AtTabInfo::AddAugment ( BasePtr  augment)

Definition at line 11 of file AtTabInfo.cxx.

◆ AddAugment() [2/2]

void AtTabInfo::AddAugment ( BasePtr  augment,
std::string  name 
)

Definition at line 19 of file AtTabInfo.cxx.

◆ GetAugment() [1/2]

AtTabInfo::BasePtr AtTabInfo::GetAugment ( std::string  name)

Definition at line 45 of file AtTabInfo.cxx.

◆ GetAugment() [2/2]

template<typename T , typename std::enable_if_t< std::is_base_of< AtTabInfoBase, T >::value > * = nullptr>
T* AtTabInfo::GetAugment ( std::string  name)
inline

Get Augment cast to anticipated type (which must have the proper base class).

Definition at line 74 of file AtTabInfo.h.

◆ GetDefaultName()

std::string AtTabInfo::GetDefaultName ( )
inlineoverridevirtual

Default name for info type.

Implements AtTabInfoBase.

Definition at line 62 of file AtTabInfo.h.

◆ ReplaceAugment() [1/2]

void AtTabInfo::ReplaceAugment ( BasePtr  augment)

Definition at line 32 of file AtTabInfo.cxx.

◆ ReplaceAugment() [2/2]

void AtTabInfo::ReplaceAugment ( BasePtr  augment,
std::string  name 
)

Definition at line 38 of file AtTabInfo.cxx.

Member Data Documentation

◆ fInfoAugments

std::map<std::string, BasePtr> AtTabInfo::fInfoAugments
protected

Definition at line 56 of file AtTabInfo.h.


The documentation for this class was generated from the following files: