Quantum Fog  0.9.3
C_DET_ND_AMP_GEN.h
1 #pragma once
2 #include "C_AMP_GEN.h"
3 #include "DET_ND.h"
4 class QB_NET;
5 class C_PI_WIND;
6 class C_HOST_VIEW;
7 
8 
9 //AMP_GEN = amplitude generator
10 
11 //******************************************
13 {
14 public:
15  DET_ND_TYPE its_nd_type;
16 
17  BOOLEAN its_cnot_pa1_is_control; //pa1 = first parent
18  BOOLEAN its_cnot_1fires;
19 
20  USHORT its_marg_pos;//marg = marginalizer
21  USHORT its_marg_len;
22 
23  DOUBLE its_pshifter_theta;
24  BOOLEAN its_pshifter_do_multiples;
25 
27 
28 };
29 //******************************************
31 {
32 private:
33  DET_ND_AMP_GEN_ENTRIES its_entries;
34  C_HOST_VIEW * its_host_view_p;
35 
36 public:
37 
38  C_DET_ND_AMP_GEN(DET_ND * nd_p, QB_NET * net_p, C_PI_WIND * pi_wind_p);
39  VOID get_entries(DET_ND_AMP_GEN_ENTRIES & entries);//different from get_wind_entries()
40  VOID set_entries(const DET_ND_AMP_GEN_ENTRIES & entries);
41  VOID reset_subpane(const DET_ND_AMP_GEN_ENTRIES & entries);
42  BOOLEAN parents_are_canonical(DET_ND_TYPE nd_type);
43  BOOLEAN get_wind_entries(DET_ND_AMP_GEN_ENTRIES & entries);
44  VOID fill_trans_mat_and_st_names_of_nd();
45  BOOLEAN talk();
46 
47 };
48 #pragma mark -
49 
50 //******************************************
51 inline
52 VOID C_DET_ND_AMP_GEN::get_entries(
53 DET_ND_AMP_GEN_ENTRIES & entries)
54 {
55  entries = its_entries;
56 }
57 //******************************************
58 inline
59 VOID C_DET_ND_AMP_GEN::set_entries(
60 const DET_ND_AMP_GEN_ENTRIES & entries)
61 {
62  ThrowIf_(entries.its_nd_type!=its_entries.its_nd_type);
63  its_entries = entries;
64 }
65 
Definition: DET_ND.h:18
Definition: QB_NET.h:34
Definition: C_HOST_VIEW.h:20
Definition: C_PI_WIND.h:18
Definition: C_AMP_GEN.h:10
Definition: C_DET_ND_AMP_GEN.h:12
Definition: C_DET_ND_AMP_GEN.h:30