made sure always IGNORE=@ in models estimating simulated data sets
[PsN.git] / lib / tool / xv_subs.pm
blob34e5bc435f2c377a2247af5425b2629a8b935326
1 # {{{ description, examples, synopsis, see also
3 # No method, just documentation
4 start description
7 end description
9 start examples
10 end examples
12 start synopsis
15 end synopsis
17 start see_also
18 # =begin html
20 # <a HREF="../data.html">data</a>, <a
21 # HREF="../model.html">model</a> <a
22 # HREF="../output.html">output</a>, <a
23 # HREF="../tool.html">tool</a>
25 # =end html
27 # =begin man
29 # data, model, output, tool
31 # =end man
32 end see_also
34 # }}}
36 # {{{ include
37 start include statements
39 use Carp;
40 use Carp qw(cluck);
41 use tool::xv_step;
43 end include statements
44 # }}}
46 # {{{ new
48 start new
50 my $model;
51 $model = $this -> models -> [0];
52 unless( defined $model -> datas ){
53 'debug' -> die ( message => "No data object in modelobject\n" );
56 end new
58 # }}} new
60 # {{{ xv_step_pre_fork_setup
62 start xv_step_pre_fork_setup
64 my $subtools = undef;
65 if( scalar @{$self -> {'subtools'}} > 1 ){
66 my @subtools = @{$self -> {'subtools'}};
67 shift( @subtools );
68 $subtools = \@subtools;
71 my $xv_step = tool::xv_step -> new( models => [$self -> {'models'} -> [0]],
72 subtools => $subtools,
73 %{$self -> {'subtool_arguments'} -> {'xv_step'}},
74 subtool_arguments => $self -> {'subtool_arguments'});
76 $xv_step -> create_data_sets;
77 push( @{$self -> {'xv_steps'}}, $xv_step );
79 end xv_step_pre_fork_setup
81 # }}}
83 # {{{ xv_step_setup
85 start xv_step_setup
87 unless( $model_number == 1 ){
88 my $subtools = undef;
89 if( scalar @{$self -> {'subtools'}} > 1 ){
90 my @subtools = @{$self -> {'subtools'}};
91 shift( @subtools );
92 $subtools = \@subtools;
95 my $first_xv_step = $self -> {'xv_steps'} -> [0];
96 my $xv_step = tool::xv_step -> new( models => [$self -> {'models'} -> [$model_number - 1]],
97 prediction_data => $first_xv_step -> prediction_data,
98 estimation_data => $first_xv_step -> estimation_data,
99 subtools => $subtools,
100 %{$self -> {'subtool_arguments'} -> {'xv_step'}},
101 subtool_arguments => $self -> {'subtool_arguments'});
103 push( @{$self -> {'xv_steps'}}, $xv_step );
106 $self -> {'tools'} = [$self -> {'xv_steps'} -> [$model_number-1]];
108 end xv_step_setup
110 # }}}
112 # {{{ xv_step_post_subtool_analyze
114 start xv_step_post_subtool_analyze
116 my $subtools = undef;
117 if( scalar @{$self -> {'subtools'}} > 1 ){
118 my @subtools = @{$self -> {'subtools'}};
119 shift( @subtools );
120 $subtools = \@subtools;
122 my $first_xv_step = $self -> {'xv_steps'} -> [0];
123 if( $self -> {'xv_steps'} -> [$model_number - 1] -> cont ){
124 $self -> {'xv_steps'} -> [$model_number -1] = tool::xv_step -> new( models => [$self -> {'models'} -> [$model_number - 1]],
125 prediction_data => $first_xv_step -> prediction_data,
126 estimation_data => $first_xv_step -> estimation_data,
127 subtools => $subtools,
128 %{$self -> {'subtool_arguments'} -> {'xv_step'}},
129 subtool_arguments => $self -> {'subtool_arguments'} );
130 push( @{$self -> {'tools'}}, $self -> {'xv_steps'} -> [$model_number-1] );
133 end xv_step_post_subtool_analyze
135 # }}}