49#ifndef GUM_INSTANCE_BAYESNET_H
50#define GUM_INSTANCE_BAYESNET_H
73 template <
typename GUM_SCALAR >
102 virtual const Tensor< GUM_SCALAR >&
cpt(
NodeId varId)
const;
127 virtual std::string
toDot()
const;
151#ifndef GUM_NO_EXTERN_TEMPLATE_CLASS
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 an PRMInstance<GUM_SCALAR> as an IBaseBayesNet.
NodeProperty< Size > _modalities_
const PRMClassElement< GUM_SCALAR > & _get_(NodeId id) const
Private getter with type checking in case the id is not a formal PRMAttribute<GUM_SCALAR>.
virtual ~InstanceBayesNet()
Destructor.
virtual const VariableNodeMap & variableNodeMap() const
See gum::IBaseBayesNet::variableNodeMap().
void _init_(const PRMInstance< GUM_SCALAR > &i)
InstanceBayesNet(const PRMInstance< GUM_SCALAR > &i)
Default constructor.
virtual const Tensor< GUM_SCALAR > & cpt(NodeId varId) const
See gum::IBaseBayesNet::cpt().
virtual std::string toDot() const
virtual NodeId nodeId(const DiscreteVariable &var) const
See gum::IBaseBayesNet::nodeId().
HashTable< const DiscreteVariable *, const PRMAttribute< GUM_SCALAR > * > _varNodeMap_
Mapping between DiscreteVariable and their NodeId.
virtual const DiscreteVariable & variableFromName(const std::string &name) const
See gum::IBaseBayesNet::variableFromName().
virtual NodeId idFromName(const std::string &name) const
See gum::IBaseBayesNet::idFromName().
virtual const DiscreteVariable & variable(NodeId id) const
See gum::IBaseBayesNet::variable().
const NodeProperty< Size > & modalities() const
See gum::IBaseBayesNet::cpt().
InstanceBayesNet & operator=(const InstanceBayesNet &from)
Copy operator.
const PRMInstance< GUM_SCALAR > * _inst_
The PRMClassElementContainer decorated by this.
Abstract class representing an element of PRM class.
An PRMInstance is a Bayesian network fragment defined by a Class and used in a PRMSystem.
Size NodeId
Type for node ids.
HashTable< NodeId, VAL > NodeProperty
Property on graph elements.
Inline implementation of InstanceBayesNet.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities