<?php $isip_window_title = "ISIP Homepage"; ?>
<?php include("/data/isip/www/templates/documentation/header/header.html"); ?>

x<!--#set var="isip_page_title" value="PhoneticDecisionTreeNode" -->
<?php include("/data/isip/www/templates/documentation/body/index_class.html"); ?>
<?php include("/data/isip/www/templates/documentation/body/bar.html"); ?>

<a name="name">
<b>
name:
<a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h">PhoneticDecisionTreeNode</a>
</b>

<br><br>

<a name="synopsis">
<b>synopsis:</b>

<blockquote>
<pre>
gcc [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_search.a

#include &lt;PhoneticDecisionTreeNode.h&gt;

~PhoneticDecisionTreeNode();
PhoneticDecisionTreeNode();
PhoneticDecisionTreeNode(const PhoneticDecisionTreeNode& copy_sym);
</pre>
</blockquote>

<a name="quick_start">
<b>quick start:</b>

<blockquote>
<pre>
#include &lt;PhoneticDecisionTreeNode.h&gt;

PhoneticDecisionTreeNode pdt_node;
Triple&lt;Long, StatisticalModel, HashTable&lt;String, String&gt; &gt datapoint;
SingleLinkedList&lt;Triple&lt;Long, StatisticalModel, HashTable&lt;String, String&gt; &gt; &gt; data;
StatisticalModel sm;
GaussianModel gm;
MixtureModel mm;
mm.add(gm);
sm.assign(mm);
sm.setOccupancy((Double)0);
HashTable&lt;String, String&gt; hash;
datapoint.assign((Long)0, sm, hash);
data.insert(&datapoint);
pdt_node.setDataPoints(data);

</pre>
</blockquote>

<a name="description"> 
<b>description:</b>
<br><br>

The PhoneticDecisionTreeNode class is meant to store phonetic information
 for each statistical-model in the PhonticDecisionTree class.

<br><br>

<a name="dependencies">
<b>dependencies:</b>
<br><br>

<ul>
  <li> <a href="../../dstr/SingleLinkedList/index.html">SingleLinkedList</a>
  <li> <a href="../../dstr/Triple/index.html">Triple</a>
  <li> <a href="../../math/scalar/Long/index.html">Long</a>
  <li> <a href="../../math/scalar/Boolean/index.html">Boolean</a>
  <li> <a href="../../stat/StatisticalModel/index.html">StatisticalModel</a>
  <li> <a href="../../dstr/HashTable/index.html">HashTable</a>
  <li> <a href="../../math/scalar/String/index.html">String</a>
</ul>

<a name="constants">
<b>public constants:</b>
<br><br>

<ul>
  <li> define the class name:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=CLASS_NAME">static const String CLASS_NAME;</a></pre>

  <li> define i/o related constants:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=DEF_PARAM">static const String DEF_PARAM;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=PARAM_DATAPOINTS">static const String PARAM_DATAPOINTS;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=PARAM_BEST_ATTRIBUTE">static const String PARAM_BEST_ATTRIBUTE;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=PARAM_TYPICAL_INDEX">static const String PARAM_TYPICAL_INDEX;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=PARAM_ACTUAL_INDEX">static const String PARAM_ACTUAL_INDEX;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=PARAM_TYPICAL_STAT_MODEL">static const String PARAM_TYPICAL_STAT_MODEL;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&constant=PARAM_FLAG_EXISTS">static const String PARAM_FLAG_EXISTS;</a></pre>

  <li> define default values and arguments:

       <pre>static const long DEF_TYPICAL_INDEX = -1;</pre>
       <pre>static const long DEF_ACTUAL_INDEX = -1;</pre>
       <pre>static const bool DEF_FLAG_EXISTS = true;</pre>

  <li> other important constants:

       <pre>typedef Triple&lt;Long, StatisticalModel, HashTable&lt;String, String&gt; &gt; DataPoint;</pre>
       <pre>typedef SingleLinkedList&lt;DataPoint&gt; Data;</pre>

</ul>
	 
<a name="error">
<b>error codes:</b>
<br><br>

<ul>
  <li> error code indicating PhoneticDecisionTreeNode class general error:

       <pre><a href="/perl/ifc_document.pl?err=00100400">static const long ERR = 00100400;</a></pre>
</ul>

<a name="protected">
<b>protected data:</b>
<br><br>

<ul>
  <li> define the datapoints

       <pre>Data datapoints_d;</pre>
       
  <li> define the best attribute that is used to split this node

       <pre>String best_attribute_d;</pre>

  <li>  define the typical statistical-mode index that represents this node. this gets update during merging

       <pre>Long typical_index_d;</pre>

  <li> define the actual statistical-mode index that represents this node

       <pre>Long actual_index_d;</pre>

  <li> define the typical statistical-model that represents this node

       <pre>StatisticalModel typical_stat_model_d;</pre>

  <li> define flag represents if this node exists or it is merged with some other node

       <pre>Boolean flag_exists_d;</pre>

  <li> define the memory manager:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&static=mgr_d">static MemoryManager mgr_d;</a></pre>
       
  <li> define the debug level:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&static=debug_level_d">static Integral::DEBUG debug_level_d;</a></pre>

</ul>

<a name="public">
<b>required public methods:</b>
<br><br>

<ul>
  <li> static methods:  

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=name">static const String& name();</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_02.cc&method=diagnose">static boolean diagnose(Integral::DEBUG debug_level);</a></pre>

  <li> debug methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_01.cc&method=debug">boolean debug(const unichar* message) const;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setDebug">static boolean setDebug(Integral::DEBUG debug_level);</a></pre>

  <li> destructor/constructor(s):
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=destructor">~PhoneticDecisionTreeNode();</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&method=default constructor">PhoneticDecisionTreeNode();</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_00.cc&method=copy+constructor">PhoneticDecisionTreeNode(const PhoneticDecisionTreeNode& arg);</a></pre>

  <li> assign methods:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_05.cc&method=assign">boolean assign(const PhoneticDecisionTreeNode& copy_node);</a></pre>

  <li> i/o methods:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_04.cc&method=sofSize">long sofSize() const;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_03.cc&method=read">boolean read(Sof& sof, long tag, const String& name = CLASS_NAME);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_04.cc&method=write">boolean write(Sof& sof, long tag, const String& name = CLASS_NAME) const;</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_03.cc&method=readData">boolean readData(Sof& sof, const String& pname = DEF_PARAM, long size = SofParser::FULL_OBJECT, boolean param = true, boolean nested = false) const;</a></pre>       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_04.cc&method=writeData">boolean writeData(Sof& sof, const String& pname = DEF_PARAM) const;</a></pre>

  <li> equality methods:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_05.cc&method=eq&instance=0">boolean eq(const PhoneticDecisionTreeNode& compare_node) const;</a></pre>

  <li> memory management methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=new">static void* operator new(size_t size);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=new[]">static void* operator new[](size_t size);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=delete">static void operator delete(void* ptr);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=delete[]">static void operator delete[](void* ptr);</a></pre>  
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setGrowSize">static boolean setGrowSize(long grow_size);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/pdtnod_05.cc&method=clear">boolean clear(Integral::CMODE ctype = Integral::DEF_CMODE);</a></pre>
       
</ul>

<a name="specific">
<b>class-specific public methods:</b>
<br><br>

<ul>
  <li> methods to get/set DataPoints

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setDataPoints">boolean setDataPoints(Data& arg);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=getDataPoints">Data getDataPoints();</a></pre>       

  <li> methods to get/set best-attribute

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setBestAttribute">boolean setBestAttribute(String& arg);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=getBestAttribute">String getBestAttribute();</a></pre>       

  <li> methods to get/set typical-index

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setTypicalIndex">boolean setTypicalIndex(Long arg);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=getTypicalIndex">Long getTypicalIndex();</a></pre>       

  <li> methods to get/set actual-index

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setActualIndex">boolean setActualIndex(Long arg);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=getActualIndex">Long getActualIndex();</a></pre>       

  <li> methods to get/set typical-stat-model

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setTypicalStatModel">boolean setTypicalStatModel(StatisticalModel& arg);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=getTypicalStatModel">StatisticalModel getTypicalStatModel();</a></pre>


  <li> methods to get/set flag-exists

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=setFlagExists">boolean setFlagExists(boolean arg);</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/pr/PhoneticDecisionTreeNode/PhoneticDecisionTreeNode.h&method=getFlagExists">boolean getFlagExists();</a></pre>


</ul>


<a name="private">
<b>private methods:</b>
<br><br>

<ul>
  
  <li> none
</ul>

<a name="notes">
<b>notes:</b>
<br><br>

<ul>
  <li> The PhoneticDecisionTreeNode class is primarily used during parameter-tying using PhoneticDecisionTree, i.e., it is used to store the information at a node in the tree.
</ul>

<!--#include virtual="/hse/ies/templates/documentation/footer/footer.html" -->
