SECircuitNode< CIRCUIT_NODE_TEMPLATE > Class Template Reference

#include <SECircuitNode.h>

Inherits Loggable.

Public Member Functions

virtual ~SECircuitNode ()
 
virtual void Clear ()
 
virtual std::string GetName () const
 
virtual bool IsPartOfBlackBox () const
 
virtual void SetPartOfBlackBox (bool b)
 
virtual bool IsBlackBoxMiddle () const
 
virtual bool HasPotential () const
 
virtual PotentialScalar & GetPotential ()
 
virtual bool HasNextPotential () const
 
virtual PotentialScalar & GetNextPotential ()
 
virtual void RemoveImposedPotential ()
 
virtual bool IsPotentialImposed () const
 
virtual void ImposePotential (const PotentialScalar &s)
 
virtual void ImposePotential (double v, const PotentialUnit &unit)
 
virtual bool HasQuantity () const
 
virtual QuantityScalar & GetQuantity ()
 
virtual bool HasNextQuantity () const
 
virtual QuantityScalar & GetNextQuantity ()
 
virtual bool HasQuantityBaseline () const
 
virtual QuantityScalar & GetQuantityBaseline ()
 
virtual void RemoveImposedQuantity ()
 
virtual bool IsQuantityImposed () const
 
virtual void ImposeQuantity (const QuantityScalar &s)
 
virtual void ImposeQuantity (double v, const QuantityUnit &unit)
 
void SetCalculatorIndex (const int index)
 
int GetCalculatorIndex () const
 
bool IsReferenceNode () const
 
void SetAsReferenceNode ()
 
void RemoveAsReferenceNode ()
 
- Public Member Functions inherited from Loggable
 Loggable (Logger *logger=nullptr)
 
 Loggable (std::string const &logfile)
 
virtual ~Loggable ()
 
virtual LoggerGetLogger () const
 
virtual void SetLogger (Logger &logger)
 
virtual void Debug (std::string const &msg) const
 
virtual void Debug (std::stringstream &msg) const
 
virtual void Debug (std::ostream &msg) const
 
virtual void Info (std::string const &msg) const
 
virtual void Info (std::stringstream &msg) const
 
virtual void Info (const std::stringstream &msg) const
 
virtual void Info (std::ostream &msg) const
 
virtual void Warning (std::string const &msg) const
 
virtual void Warning (std::stringstream &msg) const
 
virtual void Warning (std::ostream &msg) const
 
virtual void Error (std::string const &msg) const
 
virtual void Error (std::stringstream &msg) const
 
virtual void Error (std::ostream &msg) const
 
virtual void Fatal (std::string const &msg) const
 
virtual void Fatal (std::stringstream &msg) const
 
virtual void Fatal (std::ostream &msg) const
 

Protected Member Functions

 SECircuitNode (const std::string &name, Logger *logger)
 

Protected Attributes

std::string m_Name
 
bool m_IsPartOfBlackBox = false
 
bool m_IsBlackBoxMiddle = false
 
PotentialScalar * m_Potential
 
PotentialScalar * m_NextPotential
 
eBlackBox_Property_Type m_PotentialType = eBlackBox_Property_Type::Calculate
 
QuantityScalar * m_Quantity
 
QuantityScalar * m_NextQuantity
 
QuantityScalar * m_QuantityBaseline
 
eBlackBox_Property_Type m_QuantityType = eBlackBox_Property_Type::Calculate
 
- Protected Attributes inherited from Loggable
bool myLogger
 
Loggerm_Logger
 

Private Attributes

int m_CalculatorIndex
 
bool m_IsReferenceNode = false
 

Friends

class PBCircuit
 
template<typename NodeType , typename PathType >
class SECircuit
 

Constructor & Destructor Documentation

◆ SECircuitNode()

template<CIRCUIT_NODE_TEMPLATE >
SECircuitNode< CIRCUIT_NODE_TEMPLATE >::SECircuitNode ( const std::string &  name,
Logger logger 
)
protected

◆ ~SECircuitNode()

template<CIRCUIT_NODE_TEMPLATE >
virtual SECircuitNode< CIRCUIT_NODE_TEMPLATE >::~SECircuitNode ( )
virtual

Member Function Documentation

◆ Clear()

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::Clear ( )
virtual

◆ GetCalculatorIndex()

template<CIRCUIT_NODE_TEMPLATE >
int SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetCalculatorIndex ( ) const

◆ GetName()

template<CIRCUIT_NODE_TEMPLATE >
virtual std::string SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetName ( ) const
virtual

◆ GetNextPotential()

template<CIRCUIT_NODE_TEMPLATE >
virtual PotentialScalar & SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetNextPotential ( )
virtual

◆ GetNextQuantity()

template<CIRCUIT_NODE_TEMPLATE >
virtual QuantityScalar & SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetNextQuantity ( )
virtual

◆ GetPotential()

template<CIRCUIT_NODE_TEMPLATE >
virtual PotentialScalar & SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetPotential ( )
virtual

◆ GetQuantity()

template<CIRCUIT_NODE_TEMPLATE >
virtual QuantityScalar & SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetQuantity ( )
virtual

◆ GetQuantityBaseline()

template<CIRCUIT_NODE_TEMPLATE >
virtual QuantityScalar & SECircuitNode< CIRCUIT_NODE_TEMPLATE >::GetQuantityBaseline ( )
virtual

◆ HasNextPotential()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::HasNextPotential ( ) const
virtual

◆ HasNextQuantity()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::HasNextQuantity ( ) const
virtual

◆ HasPotential()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::HasPotential ( ) const
virtual

◆ HasQuantity()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::HasQuantity ( ) const
virtual

◆ HasQuantityBaseline()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::HasQuantityBaseline ( ) const
virtual

◆ ImposePotential() [1/2]

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::ImposePotential ( const PotentialScalar &  s)
virtual

◆ ImposePotential() [2/2]

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::ImposePotential ( double  v,
const PotentialUnit &  unit 
)
virtual

◆ ImposeQuantity() [1/2]

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::ImposeQuantity ( const QuantityScalar &  s)
virtual

◆ ImposeQuantity() [2/2]

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::ImposeQuantity ( double  v,
const QuantityUnit &  unit 
)
virtual

◆ IsBlackBoxMiddle()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::IsBlackBoxMiddle ( ) const
virtual

◆ IsPartOfBlackBox()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::IsPartOfBlackBox ( ) const
virtual

◆ IsPotentialImposed()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::IsPotentialImposed ( ) const
virtual

◆ IsQuantityImposed()

template<CIRCUIT_NODE_TEMPLATE >
virtual bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::IsQuantityImposed ( ) const
virtual

◆ IsReferenceNode()

template<CIRCUIT_NODE_TEMPLATE >
bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::IsReferenceNode ( ) const

◆ RemoveAsReferenceNode()

template<CIRCUIT_NODE_TEMPLATE >
void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::RemoveAsReferenceNode ( )

◆ RemoveImposedPotential()

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::RemoveImposedPotential ( )
virtual

◆ RemoveImposedQuantity()

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::RemoveImposedQuantity ( )
virtual

◆ SetAsReferenceNode()

template<CIRCUIT_NODE_TEMPLATE >
void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::SetAsReferenceNode ( )

◆ SetCalculatorIndex()

template<CIRCUIT_NODE_TEMPLATE >
void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::SetCalculatorIndex ( const int  index)

◆ SetPartOfBlackBox()

template<CIRCUIT_NODE_TEMPLATE >
virtual void SECircuitNode< CIRCUIT_NODE_TEMPLATE >::SetPartOfBlackBox ( bool  b)
virtual

Friends And Related Function Documentation

◆ PBCircuit

template<CIRCUIT_NODE_TEMPLATE >
friend class PBCircuit
friend

◆ SECircuit

template<CIRCUIT_NODE_TEMPLATE >
template<typename NodeType , typename PathType >
friend class SECircuit
friend

Member Data Documentation

◆ m_CalculatorIndex

template<CIRCUIT_NODE_TEMPLATE >
int SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_CalculatorIndex
private

◆ m_IsBlackBoxMiddle

template<CIRCUIT_NODE_TEMPLATE >
bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_IsBlackBoxMiddle = false
protected

◆ m_IsPartOfBlackBox

template<CIRCUIT_NODE_TEMPLATE >
bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_IsPartOfBlackBox = false
protected

◆ m_IsReferenceNode

template<CIRCUIT_NODE_TEMPLATE >
bool SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_IsReferenceNode = false
private

◆ m_Name

template<CIRCUIT_NODE_TEMPLATE >
std::string SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_Name
protected

◆ m_NextPotential

template<CIRCUIT_NODE_TEMPLATE >
PotentialScalar* SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_NextPotential
protected

◆ m_NextQuantity

template<CIRCUIT_NODE_TEMPLATE >
QuantityScalar* SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_NextQuantity
protected

◆ m_Potential

template<CIRCUIT_NODE_TEMPLATE >
PotentialScalar* SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_Potential
protected

◆ m_PotentialType

template<CIRCUIT_NODE_TEMPLATE >
eBlackBox_Property_Type SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_PotentialType = eBlackBox_Property_Type::Calculate
protected

◆ m_Quantity

template<CIRCUIT_NODE_TEMPLATE >
QuantityScalar* SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_Quantity
protected

◆ m_QuantityBaseline

template<CIRCUIT_NODE_TEMPLATE >
QuantityScalar* SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_QuantityBaseline
protected

◆ m_QuantityType

template<CIRCUIT_NODE_TEMPLATE >
eBlackBox_Property_Type SECircuitNode< CIRCUIT_NODE_TEMPLATE >::m_QuantityType = eBlackBox_Property_Type::Calculate
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.