34class GatedDiscretisedDensity
37 static GatedDiscretisedDensity* read_from_file(
const std::string& filename);
39 static GatedDiscretisedDensity* read_from_files(
const std::string& filename);
41 static GatedDiscretisedDensity* read_from_files(
const std::string& filename,
const std::string& suffix);
43 GatedDiscretisedDensity() {}
45 GatedDiscretisedDensity(
const GatedDiscretisedDensity& argument);
46 GatedDiscretisedDensity(
const std::string& filename);
51 _time_gate_definitions = time_gate_definitions;
61 _time_gate_definitions = time_gate_definitions;
63 for (
unsigned int gate_num = 0; gate_num < time_gate_definitions.
get_num_gates(); ++gate_num)
64 this->_densities[gate_num].reset(density_sptr->get_empty_discretised_density());
71 _densities.resize(gated_density.get_num_gates());
72 _time_gate_definitions=gated_density.get_time_gate_definitions();
73 for (
unsigned int gate_num=0; gate_num<time_gate_definitions.
get_num_gates(); ++gate_num)
74 this->_densities[gate_num] = (gated_density.get_densities[0])->get_empty_discretised_density();
78 GatedDiscretisedDensity& operator=(
const GatedDiscretisedDensity& argument);
87 void set_density_sptr(
const shared_ptr<DiscretisedDensity<3, float>>& density_sptr,
const unsigned int gate_num);
89 void resize_densities(
const TimeGateDefinitions& time_gate_definitions)
91 _densities.resize(time_gate_definitions.get_num_gates());
92 _time_gate_definitions = time_gate_definitions;
100 const std::vector<shared_ptr<DiscretisedDensity<3, float>>>& get_densities()
const;
102 const DiscretisedDensity<3, float>& get_density(
const unsigned int gate_num)
const;
104 const DiscretisedDensity<3, float>& operator[](
const unsigned int gate_num)
const
106 return this->get_density(gate_num);
109 DiscretisedDensity<3, float>& get_density(
const unsigned int gate_num);
111 DiscretisedDensity<3, float>& operator[](
const unsigned int gate_num)
113 return this->get_density(gate_num);
117 void set_time_gate_definitions(TimeGateDefinitions time_gate_definitions)
119 this->_time_gate_definitions = time_gate_definitions;
122 const TimeGateDefinitions& get_time_gate_definitions()
const;
124 unsigned get_num_gates()
const
126 return this->get_time_gate_definitions().get_num_time_gates();
128 void fill_with_zero();
134 Succeeded write_to_files(
const std::string& filename)
const;
135 Succeeded write_to_files(
const std::string& filename,
const std::string& suffix)
const;
139 TimeGateDefinitions _time_gate_definitions;
140 std::vector<shared_ptr<DiscretisedDensity<3, float>>> _densities;
GatedDiscretisedDensity(const TimeGateDefinitions &time_gate_definitions, const shared_ptr< DiscretisedDensity< 3, float > > &density_sptr)
Construct an empty GatedDiscretisedDensity based on a shared_ptr<DiscretisedDensity<3,...
Definition GatedDiscretisedDensity.h:57