48#ifndef GUM_CLASS_BAYESNET_H
49#define GUM_CLASS_BAYESNET_H
78 template <
typename GUM_SCALAR >
119 virtual const Tensor< GUM_SCALAR >&
cpt(
NodeId varId)
const;
145 virtual std::string
toDot()
const;
172#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
Inline implementation of ClassBayesNet.
Base class for discrete random variable.
The class for generic Hash Tables.
IBayesNet()
Default constructor.
Container used to map discrete variables with nodes.
This class decorates a gum::prm::Class<GUM_SCALAR> has an IBaseBayesNet.
virtual ~ClassBayesNet()
Destructor.
virtual const DiscreteVariable & variableFromName(const std::string &name) const
See gum::IBaseBayesNet::variableFromName().
virtual NodeId nodeId(const DiscreteVariable &var) const
See gum::IBaseBayesNet::nodeId().
const PRMClassElement< GUM_SCALAR > & _get_(NodeId id) const
Private getter with type checking in case the id is not a formal PRMAttribute.
virtual const Tensor< GUM_SCALAR > & cpt(NodeId varId) const
Returns the CPT of a node in this ClassBayesNet<GUM_SCALAR>.
ClassBayesNet(const PRMClass< GUM_SCALAR > &c)
Default constructor.
NodeProperty< Size > _modalities_
HashTable< const DiscreteVariable *, const PRMClassElement< GUM_SCALAR > * > _varNodeMap_
Mapping between DiscreteVariable and their NodeId.
virtual std::string toDot() const
virtual const VariableNodeMap & variableNodeMap() const
See gum::IBaseBayesNet::variableNodeMap().
const NodeProperty< Size > & modalities() const
See gum::IBaseBayesNet::modalities().
virtual NodeId idFromName(const std::string &name) const
See gum::IBaseBayesNet::idFromName().
void _init_(const PRMClass< GUM_SCALAR > &c)
const PRMClass< GUM_SCALAR > * _class_
The PRMClassElementContainer decorated by this.
virtual const DiscreteVariable & variable(NodeId id) const
See gum::IBaseBayesNet::variable().
ClassBayesNet< GUM_SCALAR > & operator=(const ClassBayesNet< GUM_SCALAR > &from)
Copy operator.
Abstract class representing an element of PRM class.
A PRMClass is an object of a PRM representing a fragment of a Bayesian network which can be instantia...
Size NodeId
Type for node ids.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities