SECompartmentManager.h
42 virtual const SECompartment* GetCompartment(eCompartment_Type type, const std::string& name) const;
51 virtual SEGasCompartmentLink& CreateGasLink(SEGasCompartment& src, SEGasCompartment& tgt, const std::string& name);
73 virtual SELiquidCompartmentLink& CreateLiquidLink(SELiquidCompartment& src, SELiquidCompartment& tgt, const std::string& name);
99 virtual SEThermalCompartmentLink& CreateThermalLink(SEThermalCompartment& src, SEThermalCompartment& tgt, const std::string& name);
145 void UpdateLinks(const std::vector<CompartmentType*>& compartments, const std::vector<LinkType*>& links) const;
154 CompartmentType& CreateCompartment(const std::string& name, std::map<std::string, CompartmentType*>& name2cmpt, std::vector<SESubstance*>* substances);
157 bool HasCompartment(const std::string& name, const std::map<std::string, CompartmentType*>& name2cmpt) const;
160 CompartmentType* GetCompartment(const std::string& name, std::map<std::string, CompartmentType*>& name2cmpt) const;
163 const CompartmentType* GetCompartment(const std::string& name, const std::map<std::string, CompartmentType*>& name2cmpt) const;
166 LinkType& CreateLink(CompartmentType& src, CompartmentType& tgt, const std::string& name, std::map<std::string, LinkType*>& name2link) const;
175 const LinkType* GetLink(const std::string& name, const std::map<std::string, LinkType*>& name2link) const;
183 // By default, every compartment gets every substance. Override these if you want to discritize better who gets what
Definition: Logger.h:23
Definition: PBCompartment.h:28
Definition: SECircuitManager.h:38
Definition: SECompartment.h:14
Definition: SECompartmentManager.h:25
std::vector< SELiquidCompartment * > m_LiquidCompartments
Definition: SECompartmentManager.h:124
std::vector< SEThermalCompartment * > m_ThermalLeafCompartments
Definition: SECompartmentManager.h:135
std::map< std::string, SELiquidCompartmentGraph * > m_LiquidName2Graphs
Definition: SECompartmentManager.h:130
std::vector< SELiquidCompartment * > m_LiquidLeafCompartments
Definition: SECompartmentManager.h:125
std::vector< SESubstance * > m_LiquidSubstances
Definition: SECompartmentManager.h:131
std::map< std::string, SEThermalCompartmentLink * > m_ThermalName2Links
Definition: SECompartmentManager.h:138
std::map< std::string, SEThermalCompartment * > m_ThermalName2Compartments
Definition: SECompartmentManager.h:136
std::vector< SELiquidCompartmentLink * > m_LiquidLinks
Definition: SECompartmentManager.h:127
std::vector< SELiquidCompartment * > m_CardiacCycleSampledCompartments
Definition: SECompartmentManager.h:132
std::vector< SETissueCompartment * > m_TissueLeafCompartments
Definition: SECompartmentManager.h:141
std::vector< SETissueCompartment * > m_TissueCompartments
Definition: SECompartmentManager.h:140
std::map< std::string, SETissueCompartment * > m_TissueName2Compartments
Definition: SECompartmentManager.h:142
std::map< std::string, SEGasCompartmentLink * > m_GasName2Links
Definition: SECompartmentManager.h:119
std::map< std::string, SELiquidCompartment * > m_LiquidName2Compartments
Definition: SECompartmentManager.h:126
virtual bool AllowLiquidSubstance(SESubstance &, SELiquidCompartment &) const
Definition: SECompartmentManager.h:185
std::vector< SEGasCompartment * > m_GasCompartments
Definition: SECompartmentManager.h:115
std::map< std::string, SEGasCompartment * > m_GasName2Compartments
Definition: SECompartmentManager.h:117
std::vector< SEGasCompartmentLink * > m_GasLinks
Definition: SECompartmentManager.h:118
std::vector< SEThermalCompartment * > m_ThermalCompartments
Definition: SECompartmentManager.h:134
std::map< std::string, SELiquidCompartmentLink * > m_LiquidName2Links
Definition: SECompartmentManager.h:128
virtual bool AllowGasSubstance(SESubstance &, SEGasCompartment &) const
Definition: SECompartmentManager.h:184
std::vector< SESubstance * > m_GasSubstances
Definition: SECompartmentManager.h:122
std::vector< SEGasCompartment * > m_GasLeafCompartments
Definition: SECompartmentManager.h:116
std::vector< SEGasCompartmentGraph * > m_GasGraphs
Definition: SECompartmentManager.h:120
std::vector< SELiquidCompartmentGraph * > m_LiquidGraphs
Definition: SECompartmentManager.h:129
std::vector< SEThermalCompartmentLink * > m_ThermalLinks
Definition: SECompartmentManager.h:137
std::map< std::string, SEGasCompartmentGraph * > m_GasName2Graphs
Definition: SECompartmentManager.h:121
Definition: SEGasCompartmentGraph.h:15
Definition: SEGasCompartment.h:14
Definition: SEGasCompartmentLink.h:11
Definition: SELiquidCompartmentGraph.h:16
Definition: SELiquidCompartment.h:11
Definition: SELiquidCompartmentLink.h:11
Definition: SESubstance.h:15
Definition: SESubstanceManager.h:9
Definition: SEThermalCompartment.h:12
Definition: SEThermalCompartmentLink.h:11
Definition: SETissueCompartment.h:9