SECompartmentManager.h
52 virtual bool HasCompartment(CDM::enumCompartmentType::value type, const std::string& name) const;
54 virtual SECompartment* GetCompartment(CDM::enumCompartmentType::value type, const std::string& name);
55 virtual const SECompartment* GetCompartment(CDM::enumCompartmentType::value type, const char* name) const;
56 virtual const SECompartment* GetCompartment(CDM::enumCompartmentType::value type, const std::string& name) const;
70 virtual SEGasCompartmentLink& CreateGasLink(SEGasCompartment& src, SEGasCompartment& tgt, const char* name);
71 virtual SEGasCompartmentLink& CreateGasLink(SEGasCompartment& src, SEGasCompartment& tgt, const std::string& name);
107 virtual SELiquidCompartmentLink& CreateLiquidLink(SELiquidCompartment& src, SELiquidCompartment& tgt, const char* name);
108 virtual SELiquidCompartmentLink& CreateLiquidLink(SELiquidCompartment& src, SELiquidCompartment& tgt, const std::string& name);
144 virtual SEThermalCompartmentLink& CreateThermalLink(SEThermalCompartment& src, SEThermalCompartment& tgt, const char* name);
145 virtual SEThermalCompartmentLink& CreateThermalLink(SEThermalCompartment& src, SEThermalCompartment& tgt, const std::string& name);
199 void UpdateLinks(const std::vector<CompartmentType*>& compartments, const std::vector<LinkType*>& links) const;
208 CompartmentType& CreateCompartment(const std::string& name, std::map<std::string, CompartmentType*>& name2cmpt, std::vector<SESubstance*>* substances);
211 bool HasCompartment(const std::string& name, const std::map<std::string, CompartmentType*>& name2cmpt) const;
214 CompartmentType* GetCompartment(const std::string& name, std::map<std::string, CompartmentType*>& name2cmpt) const;
217 const CompartmentType* GetCompartment(const std::string& name, const std::map<std::string, CompartmentType*>& name2cmpt) const;
220 LinkType& CreateLink(CompartmentType& src, CompartmentType& tgt, const std::string& name, std::map<std::string, LinkType*>& name2link) const;
229 const LinkType* GetLink(const std::string& name, const std::map<std::string, LinkType*>& name2link) const;
237 // By default, every compartment gets every substance. Override these if you want to discritize better who gets what
239 virtual bool AllowLiquidSubstance(SESubstance& s, SELiquidCompartment& cmpt) const { return true; }
std::vector< SESubstance * > m_LiquidSubstances
Definition: SECompartmentManager.h:186
value
Underlying enum type.
Definition: Compartment.hxx:708
Definition: SEGasCompartmentLink.h:21
std::vector< SEGasCompartment * > m_GasCompartments
Definition: SECompartmentManager.h:170
std::map< std::string, SEThermalCompartmentLink * > m_ThermalName2Links
Definition: SECompartmentManager.h:192
std::map< std::string, SEGasCompartmentLink * > m_GasName2Links
Definition: SECompartmentManager.h:174
std::map< std::string, SELiquidCompartment * > m_LiquidName2Compartments
Definition: SECompartmentManager.h:181
SESubstance * m_HbO2CO2
Definition: SECompartmentManager.h:247
std::map< std::string, SEGasCompartment * > m_GasName2Compartments
Definition: SECompartmentManager.h:172
Definition: SELiquidCompartmentGraph.h:24
std::vector< SEGasCompartmentLink * > m_GasLinks
Definition: SECompartmentManager.h:173
std::map< std::string, SEThermalCompartment * > m_ThermalName2Compartments
Definition: SECompartmentManager.h:190
Definition: SEThermalCompartment.h:26
Definition: SECompartmentManager.h:32
std::vector< SELiquidCompartment * > m_LiquidCompartments
Definition: SECompartmentManager.h:179
std::vector< SEThermalCompartmentLink * > m_ThermalLinks
Definition: SECompartmentManager.h:191
std::map< std::string, SETissueCompartment * > m_TissueName2Compartments
Definition: SECompartmentManager.h:196
Definition: Logger.h:27
std::vector< SEGasCompartment * > m_GasLeafCompartments
Definition: SECompartmentManager.h:171
Definition: SELiquidCompartment.h:27
std::vector< SEThermalCompartment * > m_ThermalCompartments
Definition: SECompartmentManager.h:188
std::map< std::string, SELiquidCompartmentGraph * > m_LiquidName2Graphs
Definition: SECompartmentManager.h:185
std::vector< SETissueCompartment * > m_TissueCompartments
Definition: SECompartmentManager.h:194
std::vector< SELiquidCompartmentLink * > m_LiquidLinks
Definition: SECompartmentManager.h:182
std::map< std::string, SEGasCompartmentGraph * > m_GasName2Graphs
Definition: SECompartmentManager.h:176
virtual bool AllowGasSubstance(SESubstance &s, SEGasCompartment &cmpt) const
Definition: SECompartmentManager.h:238
SESubstanceManager & m_subMgr
Definition: SECompartmentManager.h:249
virtual bool AllowLiquidSubstance(SESubstance &s, SELiquidCompartment &cmpt) const
Definition: SECompartmentManager.h:239
Definition: SEThermalCompartmentLink.h:22
Definition: SESubstance.h:49
Definition: SEGasCompartmentGraph.h:25
std::vector< SELiquidCompartment * > m_LiquidLeafCompartments
Definition: SECompartmentManager.h:180
Definition: SECompartment.h:31
std::vector< SEGasCompartmentGraph * > m_GasGraphs
Definition: SECompartmentManager.h:175
std::vector< SELiquidCompartmentGraph * > m_LiquidGraphs
Definition: SECompartmentManager.h:184
std::vector< SEThermalCompartment * > m_ThermalLeafCompartments
Definition: SECompartmentManager.h:189
Class corresponding to the CompartmentManagerData schema type.
Definition: Compartment.hxx:5467
std::map< std::string, SELiquidCompartmentLink * > m_LiquidName2Links
Definition: SECompartmentManager.h:183
Definition: SESubstanceManager.h:23
Definition: SEElectricalCircuit.h:18
Definition: SETissueCompartment.h:32
std::vector< SETissueCompartment * > m_TissueLeafCompartments
Definition: SECompartmentManager.h:195
Definition: SECircuitManager.h:53
std::vector< SESubstance * > m_GasSubstances
Definition: SECompartmentManager.h:177
Definition: SELiquidCompartmentLink.h:21
Definition: SEGasCompartment.h:24