tdaq-develop-2025-02-12
ots::SlowControlsTableBase Class Referenceabstract

<virtual so future plugins can inherit from multiple table base classes More...

#include <otsdaq/TablePlugins/SlowControlsTableBase/SlowControlsTableBase.h>

Inheritance diagram for ots::SlowControlsTableBase:
ots::TableBase ots::ARTDAQBoardReaderTable ots::ARTDAQDataLoggerTable ots::ARTDAQDispatcherTable ots::ARTDAQEventBuilderTable ots::ARTDAQRoutingManagerTable

Classes

struct  ColChannel
 Column names. More...
 

Public Member Functions

 SlowControlsTableBase (void)
 
 SlowControlsTableBase (std::string tableName, std::string *accumulatedExceptions=0)
 
virtual bool slowControlsChannelListHasChanged (void) const
 Getters.
 
virtual void getSlowControlsChannelList (std::vector< std::pair< std::string, std::vector< std::string >>> &channelList) const
 
virtual bool outputEpicsPVFile (ConfigurationManager *configManager, std::vector< std::pair< std::string, std::vector< std::string >>> *channelList=0) const
 use table name to have different file names! (instead of DEFINES like in DTC) More...
 
virtual unsigned int slowControlsHandlerConfig (std::stringstream &out, ConfigurationManager *configManager, std::vector< std::pair< std::string, std::vector< std::string >>> *channelList) const =0
 
virtual unsigned int slowControlsHandler (std::stringstream &out, std::string &tabStr, std::string &commentStr, std::string &subsystem, std::string &location, ConfigurationTree slowControlsLink, std::vector< std::pair< std::string, std::vector< std::string >>> *channelList) const
 
virtual std::string setFilePath () const =0
 
- Public Member Functions inherited from ots::TableBase
 TableBase (bool specialTable, const std::string &specialTableName)
 
 TableBase (const std::string &tableName, std::string *accumulatedExceptions=0)
 
virtual ~TableBase (void)
 
virtual void init (ConfigurationManager *configManager)
 Methods.
 
void destroy (void)
 
void reset (bool keepTemporaryVersions=false)
 
void deactivate (void)
 
bool isActive (void)
 isActive
 
void print (std::ostream &out=std::cout) const
 always prints active view
 
std::string getTypeId (void)
 
void setupMockupView (TableVersion version)
 
void changeVersionAndActivateView (TableVersion temporaryVersion, TableVersion version)
 
bool isStored (const TableVersion &version) const
 
bool eraseView (TableVersion version)
 
void trimCache (unsigned int trimSize=-1)
 
void trimTemporary (TableVersion targetVersion=TableVersion())
 
TableVersion checkForDuplicate (TableVersion needleVersion, TableVersion ignoreVersion=TableVersion()) const
 
bool diffTwoVersions (TableVersion v1, TableVersion v2, std::stringstream *diffReport=0, std::map< std::string, std::vector< std::string >> *v1ModifiedRecords=0) const
 
const std::string & getTableName (void) const
 Getters.
 
const std::string & getTableDescription (void) const
 
std::set< TableVersiongetStoredVersions (void) const
 
const TableViewgetView (TableVersion version=TableVersion(TableVersion::INVALID)) const
 
TableViewgetViewP (TableVersion version=TableVersion(TableVersion::INVALID))
 
TableViewgetMockupViewP (void)
 
const TableVersiongetViewVersion (void) const
 always the active one
 
TableViewgetTemporaryView (TableVersion temporaryVersion)
 
TableVersion getNextTemporaryVersion (void) const
 
TableVersion getNextVersion (void) const
 
virtual std::string getStructureStatusAsJSON (ConfigurationManager *configManager) const
 
void setTableName (const std::string &tableName)
 Setters.
 
void setTableDescription (const std::string &tableDescription)
 
bool setActiveView (TableVersion version)
 
TableVersion copyView (const TableView &sourceView, TableVersion destinationVersion, const std::string &author, bool looseColumnMatching=false)
 
TableVersion mergeViews (const TableView &sourceViewA, const TableView &sourceViewB, TableVersion destinationVersion, const std::string &author, const std::string &mergeApproach, std::map< std::pair< std::string, std::string >, std::string > &uidConversionMap, std::map< std::pair< std::string, std::pair< std::string, std::string > >, std::string > &groupidConversionMap, bool fillRecordConversionMaps, bool applyRecordConversionMaps, bool generateUniqueDataColumns=false, std::stringstream *mergeRepoert=nullptr)
 
TableVersion createTemporaryView (TableVersion sourceViewVersion=TableVersion(), TableVersion destTemporaryViewVersion=TableVersion::getNextTemporaryVersion())
 source of -1, from MockUp, else from valid view version More...
 
bool latestAndMockupColumnNumberMismatch (void) const
 
unsigned int getNumberOfStoredViews (void) const
 

Public Attributes

struct ots::SlowControlsTableBase::ColChannel channelColNames_
 
bool isFirstAppInContext_ = false
 for managing if PV list has changed
 
bool channelListHasChanged_ = false
 for managing if PV list has changed
 
ConfigurationManagerlastConfigManager_ = nullptr
 
- Public Attributes inherited from ots::TableBase
const unsigned int MAX_VIEWS_IN_CACHE
 

Additional Inherited Members

- Static Public Member Functions inherited from ots::TableBase
static std::string convertToCaps (std::string &str, bool isConfigName=false)
 
- Static Public Attributes inherited from ots::TableBase
static const std::string GROUP_CACHE_PREPEND = "GroupCache_"
 
static const std::string JSON_DOC_PREPEND = "JSONDoc_"
 
- Protected Attributes inherited from ots::TableBase
std::string tableName_
 
std::string tableDescription_
 
TableViewactiveTableView_
 
TableView mockupTableView_
 
std::map< TableVersion, TableViewtableViews_
 

Detailed Description

<virtual so future plugins can inherit from multiple table base classes

Definition at line 17 of file SlowControlsTableBase.h.

Constructor & Destructor Documentation

◆ SlowControlsTableBase() [1/2]

SlowControlsTableBase::SlowControlsTableBase ( void  )

SlowControlsTableBase Default constructor should never be used because table type is lost

Definition at line 39 of file SlowControlsTableBase.cc.

◆ SlowControlsTableBase() [2/2]

SlowControlsTableBase::SlowControlsTableBase ( std::string  tableName,
std::string *  accumulatedExceptions = 0 
)

TableBase If a valid string pointer is passed in accumulatedExceptions then allowIllegalColumns is set for InfoReader If accumulatedExceptions pointer = 0, then illegal columns throw std::runtime_error exception

Definition at line 17 of file SlowControlsTableBase.cc.

Member Function Documentation

◆ outputEpicsPVFile()

bool SlowControlsTableBase::outputEpicsPVFile ( ConfigurationManager configManager,
std::vector< std::pair< std::string, std::vector< std::string >>> *  channelList = 0 
) const
virtual

use table name to have different file names! (instead of DEFINES like in DTC)

return channel list if pointer passed

boardReader{ build vector .. based on table 1,2,3,4,5.. pass vector outputPV() } DTC { build vector from config Tree pass vector to outputPV() } is channel binary or not?.. then can handle all the same

Definition at line 240 of file SlowControlsTableBase.cc.


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