PulseConfiguration.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 class SENutrition;
12 #include "engine/SEEngineConfiguration.h"
13 
17 class PULSE_DECL PulseConfiguration : public SEEngineConfiguration
18 {
19  friend class PBPulseConfiguration;//friend the serialization class
20 public:
21 
23  virtual ~PulseConfiguration();
24 
25  virtual void Clear();
26  void Merge(const PulseConfiguration&);
27  virtual void Initialize(const std::string& data_dir);
28 
29  bool SerializeToString(std::string& output, SerializationFormat m) const;
30  bool SerializeToFile(const std::string& filename, SerializationFormat m) const;
31  bool SerializeFromString(const std::string& src, SerializationFormat m);
32  bool SerializeFromFile(const std::string& filename, SerializationFormat m);
33 
34 
35  virtual bool HasTimeStep() const;
36  virtual SEScalarTime& GetTimeStep();
37  virtual double GetTimeStep(const TimeUnit& unit) const;
38 
39  // You can have either a timed or dynamic stabilization object (cannot have both)
40  virtual bool HasStabilization() const;
41  virtual SEEngineStabilization* GetStabilization();
42  virtual void RemoveStabilization();
43  // Timed Methods, If you have dynamic, calling GetTimedStabilization will remove the dynamic object
44  virtual bool HasTimedStabilization() const;
45  virtual SETimedStabilization& GetTimedStabilization();
46  virtual const SETimedStabilization* GetTimedStabilization() const;
47  virtual void RemoveTimedStabilization();
48  // Dynamic Methods, If you have timed, calling GetDynamicStabilization will remove the timed object
49  virtual bool HasDynamicStabilization() const;
50  virtual SEDynamicStabilization& GetDynamicStabilization();
51  virtual const SEDynamicStabilization* GetDynamicStabilization() const;
52  virtual void RemoveDynamicStabilization();
53 
54  virtual bool IsWritingPatientBaselineFile() const { return m_WritePatientBaselineFile == eSwitch::On; }
55  virtual void EnableWritePatientBaselineFile(eSwitch s) { m_WritePatientBaselineFile = (s==eSwitch::NullSwitch) ? eSwitch::Off : s; }
56 
57  virtual bool HasAutoSerialization() const;
58  virtual SEAutoSerialization& GetAutoSerialization();
59  virtual const SEAutoSerialization* GetAutoSerialization() const;
60  virtual void RemoveAutoSerialization();
61 
62 protected:
64 
70 
72 
73 public:
75  virtual bool HasResponseSlope() const;
76  virtual SEScalar& GetResponseSlope();
77  virtual double GetResponseSlope() const;
78 
79  virtual bool HasHeartRateDistributedTimeDelay() const;
80  virtual SEScalarTime& GetHeartRateDistributedTimeDelay();
81  virtual double GetHeartRateDistributedTimeDelay(const TimeUnit& unit) const;
82 
83  virtual bool HasHeartElastanceDistributedTimeDelay() const;
84  virtual SEScalarTime& GetHeartElastanceDistributedTimeDelay();
85  virtual double GetHeartElastanceDistributedTimeDelay(const TimeUnit& unit) const;
86 
87  virtual bool HasSystemicResistanceDistributedTimeDelay() const;
88  virtual SEScalarTime& GetSystemicResistanceDistributedTimeDelay();
89  virtual double GetSystemicResistanceDistributedTimeDelay(const TimeUnit& unit) const;
90 
91  virtual bool HasVenousComplianceDistributedTimeDelay() const;
92  virtual SEScalarTime& GetVenousComplianceDistributedTimeDelay();
93  virtual double GetVenousComplianceDistributedTimeDelay(const TimeUnit& unit) const;
94 
95  virtual bool HasNormalizedHeartRateIntercept() const;
96  virtual SEScalar& GetNormalizedHeartRateIntercept();
97  virtual double GetNormalizedHeartRateIntercept() const;
98 
99  virtual bool HasNormalizedHeartRateSympatheticSlope() const;
100  virtual SEScalar& GetNormalizedHeartRateSympatheticSlope();
101  virtual double GetNormalizedHeartRateSympatheticSlope() const;
102 
103  virtual bool HasNormalizedHeartRateParasympatheticSlope() const;
104  virtual SEScalar& GetNormalizedHeartRateParasympatheticSlope();
105  virtual double GetNormalizedHeartRateParasympatheticSlope() const;
106 
107  virtual bool HasNormalizedHeartElastanceIntercept() const;
108  virtual SEScalar& GetNormalizedHeartElastanceIntercept();
109  virtual double GetNormalizedHeartElastanceIntercept() const;
110 
111  virtual bool HasNormalizedHeartElastanceSympatheticSlope() const;
112  virtual SEScalar& GetNormalizedHeartElastanceSympatheticSlope();
113  virtual double GetNormalizedHeartElastanceSympatheticSlope() const;
114 
115  virtual bool HasNormalizedResistanceIntercept() const;
116  virtual SEScalar& GetNormalizedResistanceIntercept();
117  virtual double GetNormalizedResistanceIntercept() const;
118 
119  virtual bool HasNormalizedResistanceSympatheticSlope() const;
120  virtual SEScalar& GetNormalizedResistanceSympatheticSlope();
121  virtual double GetNormalizedResistanceSympatheticSlope() const;
122 
123  virtual bool HasNormalizedComplianceIntercept() const;
124  virtual SEScalar& GetNormalizedComplianceIntercept();
125  virtual double GetNormalizedComplianceIntercept() const;
126 
127  virtual bool HasNormalizedComplianceParasympatheticSlope() const;
128  virtual SEScalar& GetNormalizedComplianceParasympatheticSlope();
129  virtual double GetNormalizedComplianceParasympatheticSlope() const;
130 
131 protected:
146 
148 
149 public:
151  virtual bool HasMeanCorpuscularHemoglobin() const;
152  virtual SEScalarMassPerAmount& GetMeanCorpuscularHemoglobin();
153  virtual double GetMeanCorpuscularHemoglobin(const MassPerAmountUnit& unit) const;
154 
155  virtual bool HasMeanCorpuscularVolume() const;
156  virtual SEScalarVolume& GetMeanCorpuscularVolume();
157  virtual double GetMeanCorpuscularVolume(const VolumeUnit& unit) const;
158 
159  virtual bool HasStandardDiffusionDistance() const;
160  virtual SEScalarLength& GetStandardDiffusionDistance();
161  virtual double GetStandardDiffusionDistance(const LengthUnit& unit) const;
162 
163  virtual bool HasStandardOxygenDiffusionCoefficient() const;
164  virtual SEScalarAreaPerTimePressure& GetStandardOxygenDiffusionCoefficient();
165  virtual double GetStandardOxygenDiffusionCoefficient(const AreaPerTimePressureUnit& unit) const;
166 protected:
171 
173 
174 public:
176  virtual bool HasLeftHeartElastanceMaximum() const;
177  virtual SEScalarFlowElastance& GetLeftHeartElastanceMaximum();
178  virtual double GetLeftHeartElastanceMaximum(const FlowElastanceUnit& unit) const;
179 
180  virtual bool HasLeftHeartElastanceMinimum() const;
181  virtual SEScalarFlowElastance& GetLeftHeartElastanceMinimum();
182  virtual double GetLeftHeartElastanceMinimum(const FlowElastanceUnit& unit) const;
183 
184  virtual bool HasMinimumBloodVolumeFraction() const;
185  virtual SEScalar0To1& GetMinimumBloodVolumeFraction();
186  virtual double GetMinimumBloodVolumeFraction() const;
187 
188  virtual bool HasRightHeartElastanceMaximum() const;
189  virtual SEScalarFlowElastance& GetRightHeartElastanceMaximum();
190  virtual double GetRightHeartElastanceMaximum(const FlowElastanceUnit& unit) const;
191 
192  virtual bool HasRightHeartElastanceMinimum() const;
193  virtual SEScalarFlowElastance& GetRightHeartElastanceMinimum();
194  virtual double GetRightHeartElastanceMinimum(const FlowElastanceUnit& unit) const;
195 
196  virtual bool HasStandardPulmonaryCapillaryCoverage() const;
197  virtual SEScalar& GetStandardPulmonaryCapillaryCoverage();
198  virtual double GetStandardPulmonaryCapillaryCoverage() const;
199 protected:
206 
208 
209 public:
211 
212  virtual bool HasCardiovascularOpenResistance() const;
213  virtual SEScalarFlowResistance& GetCardiovascularOpenResistance();
214  virtual double GetCardiovascularOpenResistance(const FlowResistanceUnit& unit) const;
215 
216  virtual bool HasDefaultClosedElectricResistance() const;
217  virtual SEScalarElectricResistance& GetDefaultClosedElectricResistance();
218  virtual double GetDefaultClosedElectricResistance(const ElectricResistanceUnit& unit) const;
219 
220  virtual bool HasDefaultClosedFlowResistance() const;
221  virtual SEScalarFlowResistance& GetDefaultClosedFlowResistance();
222  virtual double GetDefaultClosedFlowResistance(const FlowResistanceUnit& unit) const;
223 
224  virtual bool HasDefaultClosedHeatResistance() const;
225  virtual SEScalarHeatResistance& GetDefaultClosedHeatResistance();
226  virtual double GetDefaultClosedHeatResistance(const HeatResistanceUnit& unit) const;
227 
228  virtual bool HasDefaultOpenElectricResistance() const;
229  virtual SEScalarElectricResistance& GetDefaultOpenElectricResistance();
230  virtual double GetDefaultOpenElectricResistance(const ElectricResistanceUnit& unit) const;
231 
232  virtual bool HasDefaultOpenFlowResistance() const;
233  virtual SEScalarFlowResistance& GetDefaultOpenFlowResistance();
234  virtual double GetDefaultOpenFlowResistance(const FlowResistanceUnit& unit) const;
235 
236  virtual bool HasDefaultOpenHeatResistance() const;
237  virtual SEScalarHeatResistance& GetDefaultOpenHeatResistance();
238  virtual double GetDefaultOpenHeatResistance(const HeatResistanceUnit& unit) const;
239 
240  virtual bool HasMachineClosedResistance() const;
241  virtual SEScalarFlowResistance& GetMachineClosedResistance();
242  virtual double GetMachineClosedResistance(const FlowResistanceUnit& unit) const;
243 
244  virtual bool HasMachineOpenResistance() const;
245  virtual SEScalarFlowResistance& GetMachineOpenResistance();
246  virtual double GetMachineOpenResistance(const FlowResistanceUnit& unit) const;
247 
248  virtual bool HasRespiratoryClosedResistance() const;
249  virtual SEScalarFlowResistance& GetRespiratoryClosedResistance();
250  virtual double GetRespiratoryClosedResistance(const FlowResistanceUnit& unit) const;
251 
252  virtual bool HasRespiratoryOpenResistance() const;
253  virtual SEScalarFlowResistance& GetRespiratoryOpenResistance();
254  virtual double GetRespiratoryOpenResistance(const FlowResistanceUnit& unit) const;
255 
256 protected:
268 
270 
271 public:
273  virtual bool HasOxygenMetabolicConstant() const;
274  virtual SEScalar& GetOxygenMetabolicConstant();
275  virtual double GetOxygenMetabolicConstant() const;
276 
277  virtual bool HasStefanBoltzmann() const;
278  virtual SEScalarPowerPerAreaTemperatureToTheFourth& GetStefanBoltzmann();
279  virtual double GetStefanBoltzmann(const PowerPerAreaTemperatureToTheFourthUnit& unit) const;
280 
281  virtual bool HasUniversalGasConstant() const;
282  virtual SEScalarHeatCapacitancePerAmount& GetUniversalGasConstant();
283  virtual double GetUniversalGasConstant(const HeatCapacitancePerAmountUnit& unit) const;
284 protected:
288 
290 
291 public:
293  virtual bool IsPDEnabled() const { return m_PDEnabled==eSwitch::On; }
294  virtual void UsePDModel(eSwitch s) { m_PDEnabled = (s == eSwitch::NullSwitch) ? eSwitch::On : s; }
295 protected:
296  eSwitch m_PDEnabled;
297 
299 
300 public:
302  virtual bool HasECGInterpolator() const;
303  virtual SEElectroCardioGramWaveformInterpolator& GetECGInterpolator();
304  virtual const SEElectroCardioGramWaveformInterpolator* GetECGInterpolator() const;
305  virtual void RemoveECGInterpolator();
306 //protected:
308 
310 
311 public:
313  virtual bool HasBodySpecificHeat() const;
314  virtual SEScalarHeatCapacitancePerMass& GetBodySpecificHeat();
315  virtual double GetBodySpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
316 
317  virtual bool HasCarbonDioxideProductionFromOxygenConsumptionConstant() const;
318  virtual SEScalar& GetCarbonDioxideProductionFromOxygenConsumptionConstant();
319  virtual double GetCarbonDioxideProductionFromOxygenConsumptionConstant() const;
320 
321  virtual bool HasCoreTemperatureHigh() const;
322  virtual SEScalarTemperature& GetCoreTemperatureHigh();
323  virtual double GetCoreTemperatureHigh(const TemperatureUnit& unit) const;
324 
325  virtual bool HasCoreTemperatureLow() const;
326  virtual SEScalarTemperature& GetCoreTemperatureLow();
327  virtual double GetCoreTemperatureLow(const TemperatureUnit& unit) const;
328 
329  virtual bool HasDeltaCoreTemperatureLow() const;
330  virtual SEScalarTemperature& GetDeltaCoreTemperatureLow();
331  virtual double GetDeltaCoreTemperatureLow(const TemperatureUnit& unit) const;
332 
333  virtual bool HasEnergyPerATP() const;
334  virtual SEScalarEnergyPerAmount& GetEnergyPerATP();
335  virtual double GetEnergyPerATP(const EnergyPerAmountUnit& unit) const;
336 
337  virtual bool HasSweatHeatTransfer() const;
338  virtual SEScalarHeatConductance& GetSweatHeatTransfer();
339  virtual double GetSweatHeatTransfer(const HeatConductanceUnit& unit) const;
340 
341  virtual bool HasVaporizationEnergy() const;
342  virtual SEScalarEnergyPerMass& GetVaporizationEnergy();
343  virtual double GetVaporizationEnergy(const EnergyPerMassUnit& unit) const;
344 
345  virtual bool HasVaporSpecificHeat() const;
346  virtual SEScalarHeatCapacitancePerMass& GetVaporSpecificHeat();
347  virtual double GetVaporSpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
348 protected:
358 
360 
361 public:
363  virtual bool HasAirDensity() const;
364  virtual SEScalarMassPerVolume& GetAirDensity();
365  virtual double GetAirDensity(const MassPerVolumeUnit& unit) const;
366 
367  virtual bool HasAirSpecificHeat() const;
368  virtual SEScalarHeatCapacitancePerMass& GetAirSpecificHeat();
369  virtual double GetAirSpecificHeat(const HeatCapacitancePerMassUnit& unit) const;
370 
371  virtual bool HasMolarMassOfDryAir() const;
372  virtual SEScalarMassPerAmount& GetMolarMassOfDryAir();
373  virtual double GetMolarMassOfDryAir(const MassPerAmountUnit& unit) const;
374 
375  virtual bool HasMolarMassOfWaterVapor() const;
376  virtual SEScalarMassPerAmount& GetMolarMassOfWaterVapor();
377  virtual double GetMolarMassOfWaterVapor(const MassPerAmountUnit& unit) const;
378 
379  virtual bool HasInitialEnvironmentalConditions() const;
380  virtual SEEnvironmentalConditions& GetInitialEnvironmentalConditions();
381  virtual const SEEnvironmentalConditions* GetInitialEnvironmentalConditions() const;
382 
383  virtual bool HasWaterDensity() const;
384  virtual SEScalarMassPerVolume& GetWaterDensity();
385  virtual double GetWaterDensity(const MassPerVolumeUnit& unit) const;
386 protected:
393 
395 
396 public:
398  virtual bool HasCalciumDigestionRate() const;
399  virtual SEScalarMassPerTime& GetCalciumDigestionRate();
400  virtual double GetCalciumDigestionRate(const MassPerTimeUnit& unit) const;
401 
402  virtual bool HasCalciumAbsorptionFraction() const;
403  virtual SEScalar0To1& GetCalciumAbsorptionFraction();
404  virtual double GetCalciumAbsorptionFraction() const;
405 
406  virtual bool HasCarbohydrateAbsorptionFraction() const;
407  virtual SEScalar0To1& GetCarbohydrateAbsorptionFraction();
408  virtual double GetCarbohydrateAbsorptionFraction() const;
409 
410  virtual bool HasDefaultCarbohydrateDigestionRate() const;
411  virtual SEScalarMassPerTime& GetDefaultCarbohydrateDigestionRate();
412  virtual double GetDefaultCarbohydrateDigestionRate(const MassPerTimeUnit& unit) const;
413 
414  virtual bool HasDefaultFatDigestionRate() const;
415  virtual SEScalarMassPerTime& GetDefaultFatDigestionRate();
416  virtual double GetDefaultFatDigestionRate(const MassPerTimeUnit& unit) const;
417 
418  virtual bool HasDefaultProteinDigestionRate() const;
419  virtual SEScalarMassPerTime& GetDefaultProteinDigestionRate();
420  virtual double GetDefaultProteinDigestionRate(const MassPerTimeUnit& unit) const;
421 
422  virtual bool HasDefaultStomachContents() const;
423  virtual SENutrition& GetDefaultStomachContents();
424  virtual const SENutrition* GetDefaultStomachContents() const;
425 
426  virtual bool HasFatAbsorptionFraction() const;
427  virtual SEScalar0To1& GetFatAbsorptionFraction();
428  virtual double GetFatAbsorptionFraction() const;
429 
430  virtual bool HasProteinToUreaFraction() const;
431  virtual SEScalar0To1& GetProteinToUreaFraction();
432  virtual double GetProteinToUreaFraction() const;
433 
434  virtual bool HasWaterDigestionRate() const;
435  virtual SEScalarVolumePerTime& GetWaterDigestionRate();
436  virtual double GetWaterDigestionRate(const VolumePerTimeUnit& unit) const;
437 
438 protected:
439 
450 
452 
453 public:
455  virtual bool HasPupilDiameterBaseline() const;
456  virtual SEScalarLength& GetPupilDiameterBaseline();
457  virtual double GetPupilDiameterBaseline(const LengthUnit& unit) const;
458 protected:
460 
462 
463 public:
465  virtual bool IsRenalEnabled() const { return m_RenalEnabled==eSwitch::On; }
466  virtual void EnableRenal(eSwitch s) { m_RenalEnabled = (s == eSwitch::NullSwitch) ? eSwitch::On : s; }
467 
468  virtual bool HasPlasmaSodiumConcentrationSetPoint() const;
469  virtual SEScalarMassPerVolume& GetPlasmaSodiumConcentrationSetPoint();
470  virtual double GetPlasmaSodiumConcentrationSetPoint(const MassPerVolumeUnit& unit) const;
471 
472  virtual bool HasPeritubularPotassiumConcentrationSetPoint() const;
473  virtual SEScalarMassPerVolume& GetPeritubularPotassiumConcentrationSetPoint();
474  virtual double GetPeritubularPotassiumConcentrationSetPoint(const MassPerVolumeUnit& unit) const;
475 
476  virtual bool HasLeftGlomerularFilteringSurfaceAreaBaseline() const;
477  virtual SEScalarArea& GetLeftGlomerularFilteringSurfaceAreaBaseline();
478  virtual double GetLeftGlomerularFilteringSurfaceAreaBaseline(const AreaUnit& unit) const;
479 
480  virtual bool HasLeftGlomerularFluidPermeabilityBaseline() const;
481  virtual SEScalarVolumePerTimePressureArea& GetLeftGlomerularFluidPermeabilityBaseline();
482  virtual double GetLeftGlomerularFluidPermeabilityBaseline(const VolumePerTimePressureAreaUnit& unit) const;
483 
484  virtual bool HasLeftTubularReabsorptionFilteringSurfaceAreaBaseline() const;
485  virtual SEScalarArea& GetLeftTubularReabsorptionFilteringSurfaceAreaBaseline();
486  virtual double GetLeftTubularReabsorptionFilteringSurfaceAreaBaseline(const AreaUnit& unit) const;
487 
488  virtual bool HasLeftTubularReabsorptionFluidPermeabilityBaseline() const;
489  virtual SEScalarVolumePerTimePressureArea& GetLeftTubularReabsorptionFluidPermeabilityBaseline();
490  virtual double GetLeftTubularReabsorptionFluidPermeabilityBaseline(const VolumePerTimePressureAreaUnit& unit) const;
491 
492  virtual bool HasMaximumAfferentResistance() const;
493  virtual SEScalarFlowResistance& GetMaximumAfferentResistance();
494  virtual double GetMaximumAfferentResistance(const FlowResistanceUnit& unit) const;
495 
496  virtual bool HasMinimumAfferentResistance() const;
497  virtual SEScalarFlowResistance& GetMinimumAfferentResistance();
498  virtual double GetMinimumAfferentResistance(const FlowResistanceUnit& unit) const;
499 
500  virtual bool HasRightGlomerularFilteringSurfaceAreaBaseline() const;
501  virtual SEScalarArea& GetRightGlomerularFilteringSurfaceAreaBaseline();
502  virtual double GetRightGlomerularFilteringSurfaceAreaBaseline(const AreaUnit& unit) const;
503 
504  virtual bool HasRightGlomerularFluidPermeabilityBaseline() const;
505  virtual SEScalarVolumePerTimePressureArea& GetRightGlomerularFluidPermeabilityBaseline();
506  virtual double GetRightGlomerularFluidPermeabilityBaseline(const VolumePerTimePressureAreaUnit& unit) const;
507 
508  virtual bool HasRightTubularReabsorptionFilteringSurfaceAreaBaseline() const;
509  virtual SEScalarArea& GetRightTubularReabsorptionFilteringSurfaceAreaBaseline();
510  virtual double GetRightTubularReabsorptionFilteringSurfaceAreaBaseline(const AreaUnit& unit) const;
511 
512  virtual bool HasRightTubularReabsorptionFluidPermeabilityBaseline() const;
513  virtual SEScalarVolumePerTimePressureArea& GetRightTubularReabsorptionFluidPermeabilityBaseline();
514  virtual double GetRightTubularReabsorptionFluidPermeabilityBaseline(const VolumePerTimePressureAreaUnit& unit) const;
515 
516  virtual bool HasTargetSodiumDelivery();
517  virtual SEScalarMassPerTime& GetTargetSodiumDelivery();
518 protected:
519  eSwitch m_RenalEnabled;
520 
523 
528 
533 
536 
538 
539 
541 
542 public:
544  virtual bool HasCentralControllerCO2PressureSetPoint() const;
545  virtual SEScalarPressure& GetCentralControllerCO2PressureSetPoint();
546  virtual double GetCentralControllerCO2PressureSetPoint(const PressureUnit& unit) const;
547 
548  virtual bool HasCentralVentilatoryControllerGain() const;
549  virtual SEScalar& GetCentralVentilatoryControllerGain();
550  virtual double GetCentralVentilatoryControllerGain() const;
551 
552  virtual bool HasMinimumAllowableInpiratoryAndExpiratoryPeriod() const;
553  virtual SEScalarTime& GetMinimumAllowableInpiratoryAndExpiratoryPeriod();
554  virtual double GetMinimumAllowableInpiratoryAndExpiratoryPeriod(const TimeUnit& unit) const;
555 
556  virtual bool HasMinimumAllowableTidalVolume() const;
557  virtual SEScalarVolume& GetMinimumAllowableTidalVolume();
558  virtual double GetMinimumAllowableTidalVolume(const VolumeUnit& unit) const;
559 
560 
561  virtual bool HasPeripheralControllerCO2PressureSetPoint() const;
562  virtual SEScalarPressure& GetPeripheralControllerCO2PressureSetPoint();
563  virtual double GetPeripheralControllerCO2PressureSetPoint(const PressureUnit& unit) const;
564 
565  virtual bool HasPeripheralVentilatoryControllerGain() const;
566  virtual SEScalar& GetPeripheralVentilatoryControllerGain();
567  virtual double GetPeripheralVentilatoryControllerGain() const;
568 
569  virtual bool HasPleuralComplianceSensitivity() const;
570  virtual SEScalarInverseVolume& GetPleuralComplianceSensitivity();
571  virtual double GetPleuralComplianceSensitivity(const InverseVolumeUnit& unit) const;
572 
573  virtual bool HasPulmonaryVentilationRateMaximum() const;
574  virtual SEScalarVolumePerTime& GetPulmonaryVentilationRateMaximum();
575  virtual double GetPulmonaryVentilationRateMaximum(const VolumePerTimeUnit& unit) const;
576 
577  virtual bool HasVentilationTidalVolumeIntercept() const;
578  virtual SEScalarVolume& GetVentilationTidalVolumeIntercept();
579  virtual double GetVentilationTidalVolumeIntercept(const VolumeUnit& unit) const;
580 
581  virtual bool HasVentilatoryOcclusionPressure() const;
582  virtual SEScalarPressure& GetVentilatoryOcclusionPressure();
583  virtual double GetVentilatoryOcclusionPressure(const PressureUnit& unit) const;
584 
585 
586 protected:
597 
599 
600 public:
602  virtual bool IsTissueEnabled() const { return m_TissueEnabled==eSwitch::On; }
603  virtual void EnableTissue(eSwitch s) { m_TissueEnabled = (s == eSwitch::NullSwitch) ? eSwitch::On : s; }
604 protected:
606 };
SEScalarPressure * m_PeripheralControllerCO2PressureSetPoint
Definition: PulseConfiguration.h:591
Definition: SESubstanceManager.h:8
SEScalar * m_CarbonDioxideProductionFromOxygenConsumptionConstant
Definition: PulseConfiguration.h:350
SEScalarMassPerAmount * m_MolarMassOfDryAir
Definition: PulseConfiguration.h:389
Definition: SEScalarArea.h:20
SEScalarFlowResistance * m_DefaultOpenFlowResistance
Definition: PulseConfiguration.h:262
SEScalarLength * m_PupilDiameterBaseline
Definition: PulseConfiguration.h:459
SEScalarTemperature * m_CoreTemperatureHigh
Definition: PulseConfiguration.h:352
Definition: SEScalar.h:19
Definition: SEScalarVolume.h:7
virtual void UsePDModel(eSwitch s)
Definition: PulseConfiguration.h:294
virtual bool IsWritingPatientBaselineFile() const
Definition: PulseConfiguration.h:54
Definition: SEScalarFlowElastance.h:7
SEScalarFlowResistance * m_DefaultClosedFlowResistance
Definition: PulseConfiguration.h:259
virtual void EnableTissue(eSwitch s)
Definition: PulseConfiguration.h:603
SEScalarPressure * m_CentralControllerCO2PressureSetPoint
Definition: PulseConfiguration.h:587
eSwitch m_RenalEnabled
Definition: PulseConfiguration.h:519
SEScalar * m_NormalizedHeartElastanceIntercept
Definition: PulseConfiguration.h:140
SEAutoSerialization * m_AutoSerialization
Definition: PulseConfiguration.h:68
Definition: SEScalarHeatCapacitancePerMass.h:7
Definition: SEElectroCardioGramWaveformInterpolator.h:7
SEScalar * m_NormalizedHeartRateSympatheticSlope
Definition: PulseConfiguration.h:138
Definition: SEScalarMassPerTime.h:26
SEScalarLength * m_StandardDiffusionDistance
Definition: PulseConfiguration.h:169
Definition: SEScalarVolume.h:23
virtual bool IsRenalEnabled() const
Definition: PulseConfiguration.h:465
SEScalar * m_NormalizedComplianceParasympatheticSlope
Definition: PulseConfiguration.h:145
SEScalarFlowResistance * m_RespiratoryClosedResistance
Definition: PulseConfiguration.h:266
Definition: SEScalarEnergyPerMass.h:22
SEScalarArea * m_RightGlomerularFilteringSurfaceAreaBaseline
Definition: PulseConfiguration.h:529
Definition: SEScalarPowerPerAreaTemperatureToTheFourth.h:19
SEScalarVolumePerTimePressureArea * m_RightTubularReabsorptionFluidPermeabilityBaseline
Definition: PulseConfiguration.h:532
SEScalar * m_NormalizedHeartRateIntercept
Definition: PulseConfiguration.h:137
SEScalarVolume * m_VentilationTidalVolumeIntercept
Definition: PulseConfiguration.h:595
Definition: SEScalarEnergyPerMass.h:7
Definition: SEScalarMassPerVolume.h:32
SETimedStabilization * m_TimedStabilization
Definition: PulseConfiguration.h:66
SEScalarMassPerVolume * m_PeritubularPotassiumConcentrationSetPoint
Definition: PulseConfiguration.h:522
SEScalarFlowElastance * m_RightHeartElastanceMaximum
Definition: PulseConfiguration.h:203
SENutrition * m_DefaultStomachContents
Definition: PulseConfiguration.h:446
Definition: SEScalarHeatConductance.h:7
SEScalarMassPerVolume * m_WaterDensity
Definition: PulseConfiguration.h:392
SEScalar * m_NormalizedHeartElastanceSympatheticSlope
Definition: PulseConfiguration.h:141
SEScalarHeatCapacitancePerMass * m_VaporSpecificHeat
Definition: PulseConfiguration.h:357
SEScalar * m_NormalizedResistanceIntercept
Definition: PulseConfiguration.h:142
Definition: SEEngineConfiguration.h:7
SEScalarFlowResistance * m_MachineOpenResistance
Definition: PulseConfiguration.h:265
Definition: SEScalarInverseVolume.h:7
static bool SerializeToString(const PulseConfiguration &src, std::string &output, SerializationFormat m)
Definition: PBPulseConfiguration.cpp:584
static bool SerializeToFile(const PulseConfiguration &src, const std::string &filename, SerializationFormat m)
Definition: PBPulseConfiguration.cpp:590
SEScalarVolumePerTime * m_WaterDigestionRate
Definition: PulseConfiguration.h:449
SEScalarFlowElastance * m_RightHeartElastanceMinimum
Definition: PulseConfiguration.h:204
Definition: SEScalarPressure.h:23
Definition: SEScalarInverseVolume.h:20
Definition: SEScalarMassPerVolume.h:7
SEScalarTime * m_VenousComplianceDistributedTimeDelay
Definition: PulseConfiguration.h:136
SEScalarMassPerVolume * m_AirDensity
Definition: PulseConfiguration.h:387
SEScalar0To1 * m_CalciumAbsorptionFraction
Definition: PulseConfiguration.h:441
virtual void EnableWritePatientBaselineFile(eSwitch s)
Definition: PulseConfiguration.h:55
SEScalarFlowResistance * m_CardiovascularOpenResistance
Definition: PulseConfiguration.h:257
Definition: SEScalarElectricResistance.h:7
eSwitch m_TissueEnabled
Definition: PulseConfiguration.h:605
Definition: SEScalarHeatCapacitancePerAmount.h:19
Definition: SEScalarEnergyPerAmount.h:20
SEScalarArea * m_LeftTubularReabsorptionFilteringSurfaceAreaBaseline
Definition: PulseConfiguration.h:526
Definition: SEScalarMassPerAmount.h:7
SEScalarHeatCapacitancePerAmount * m_UniversalGasConstant
Definition: PulseConfiguration.h:287
Definition: SEScalarEnergyPerAmount.h:7
SEScalar0To1 * m_ProteinToUreaFraction
Definition: PulseConfiguration.h:448
SEScalarVolume * m_MeanCorpuscularVolume
Definition: PulseConfiguration.h:168
Definition: SEAutoSerialization.h:6
Definition: SENutrition.h:6
Definition: PBPulseConfiguration.h:8
SEElectroCardioGramWaveformInterpolator * m_ECGInterpolator
Definition: PulseConfiguration.h:307
Definition: SEScalarVolumePerTime.h:7
SEScalar0To1 * m_CarbohydrateAbsorptionFraction
Definition: PulseConfiguration.h:442
Definition: SEScalarTime.h:7
SEScalarFlowResistance * m_MaximumAfferentResistance
Definition: PulseConfiguration.h:534
SEDynamicStabilization * m_DynamicStabilization
Definition: PulseConfiguration.h:67
SEScalarHeatConductance * m_SweatHeatTransfer
Definition: PulseConfiguration.h:355
SEScalarAreaPerTimePressure * m_StandardOxygenDiffusionCoefficient
Definition: PulseConfiguration.h:170
Definition: SEScalarTemperature.h:22
SEScalarFlowResistance * m_RespiratoryOpenResistance
Definition: PulseConfiguration.h:267
SEScalarFlowResistance * m_MinimumAfferentResistance
Definition: PulseConfiguration.h:535
Definition: SEScalarVolumePerTimePressureArea.h:7
SEScalar * m_ResponseSlope
Definition: PulseConfiguration.h:132
Definition: SEScalarMassPerTime.h:7
SEScalarVolume * m_MinimumAllowableTidalVolume
Definition: PulseConfiguration.h:590
Definition: SEDynamicStabilization.h:8
virtual void EnableRenal(eSwitch s)
Definition: PulseConfiguration.h:466
Definition: SEScalarPressure.h:7
static void Merge(const PulseConfiguration &src, PulseConfiguration &dst)
Definition: PBPulseConfiguration.cpp:24
SEScalar0To1 * m_FatAbsorptionFraction
Definition: PulseConfiguration.h:447
Definition: SEEngineStabilization.h:11
SEScalarHeatResistance * m_DefaultOpenHeatResistance
Definition: PulseConfiguration.h:263
SEScalar * m_StandardPulmonaryCapillaryCoverage
Definition: PulseConfiguration.h:205
SEScalarEnergyPerMass * m_VaporizationEnergy
Definition: PulseConfiguration.h:356
SEScalarElectricResistance * m_DefaultOpenElectricResistance
Definition: PulseConfiguration.h:261
SESubstanceManager & m_Substances
Definition: PulseConfiguration.h:63
SEScalarHeatCapacitancePerMass * m_BodySpecificHeat
Definition: PulseConfiguration.h:349
Definition: SEScalarVolumePerTimePressureArea.h:20
static bool SerializeFromFile(const std::string &filename, PulseConfiguration &dst, SerializationFormat m)
Definition: PBPulseConfiguration.cpp:607
SEScalarEnergyPerAmount * m_EnergyPerATP
Definition: PulseConfiguration.h:354
virtual bool IsPDEnabled() const
Definition: PulseConfiguration.h:293
Definition: SEScalarHeatConductance.h:22
Definition: SEScalarElectricResistance.h:19
SEScalarMassPerTime * m_DefaultProteinDigestionRate
Definition: PulseConfiguration.h:445
SEScalarHeatResistance * m_DefaultClosedHeatResistance
Definition: PulseConfiguration.h:260
Definition: SEScalarArea.h:7
Definition: SEScalarVolumePerTime.h:26
SEScalarMassPerTime * m_TargetSodiumDelivery
Definition: PulseConfiguration.h:537
Definition: SEScalarHeatResistance.h:22
eSwitch m_PDEnabled
Definition: PulseConfiguration.h:296
SEScalarMassPerVolume * m_PlasmaSodiumConcentrationSetPoint
Definition: PulseConfiguration.h:521
SEScalarTime * m_HeartElastanceDistributedTimeDelay
Definition: PulseConfiguration.h:134
Definition: SEScalarPowerPerAreaTemperatureToTheFourth.h:7
SEScalarVolumePerTimePressureArea * m_RightGlomerularFluidPermeabilityBaseline
Definition: PulseConfiguration.h:530
SEEnvironmentalConditions * m_InitialEnvironmentalConditions
Definition: PulseConfiguration.h:391
SEScalarMassPerAmount * m_MolarMassOfWaterVapor
Definition: PulseConfiguration.h:390
SEScalarElectricResistance * m_DefaultClosedElectricResistance
Definition: PulseConfiguration.h:258
SEScalarArea * m_RightTubularReabsorptionFilteringSurfaceAreaBaseline
Definition: PulseConfiguration.h:531
SEScalarTime * m_HeartRateDistributedTimeDelay
Definition: PulseConfiguration.h:133
Definition: SETimedStabilization.h:7
Definition: SEScalarLength.h:24
Definition: SEScalarLength.h:7
SEScalar0To1 * m_MinimumBloodVolumeFraction
Definition: PulseConfiguration.h:202
Definition: SEScalarAreaPerTimePressure.h:7
SEScalarArea * m_LeftGlomerularFilteringSurfaceAreaBaseline
Definition: PulseConfiguration.h:524
Definition: SEScalarTemperature.h:7
SEScalar * m_OxygenMetabolicConstant
Definition: PulseConfiguration.h:285
Definition: SEScalarTime.h:23
SEScalarHeatCapacitancePerMass * m_AirSpecificHeat
Definition: PulseConfiguration.h:388
virtual bool IsTissueEnabled() const
Definition: PulseConfiguration.h:602
Definition: SEScalarMassPerAmount.h:29
SEScalarPressure * m_VentilatoryOcclusionPressure
Definition: PulseConfiguration.h:596
Definition: SEScalarHeatCapacitancePerAmount.h:7
SEScalar * m_CentralVentilatoryControllerGain
Definition: PulseConfiguration.h:588
SEScalar * m_NormalizedResistanceSympatheticSlope
Definition: PulseConfiguration.h:143
SEScalarTemperature * m_DeltaCoreTemperatureLow
Definition: PulseConfiguration.h:353
SEScalarFlowElastance * m_LeftHeartElastanceMinimum
Definition: PulseConfiguration.h:201
Definition: SEScalarFlowElastance.h:21
SEScalarPowerPerAreaTemperatureToTheFourth * m_StefanBoltzmann
Definition: PulseConfiguration.h:286
Definition: SEScalarAreaPerTimePressure.h:22
SEScalar * m_NormalizedComplianceIntercept
Definition: PulseConfiguration.h:144
SEScalar * m_PeripheralVentilatoryControllerGain
Definition: PulseConfiguration.h:592
SEScalarMassPerTime * m_DefaultCarbohydrateDigestionRate
Definition: PulseConfiguration.h:443
Definition: SEScalarHeatResistance.h:7
SEScalarFlowResistance * m_MachineClosedResistance
Definition: PulseConfiguration.h:264
Definition: SEScalarFlowResistance.h:7
SEScalarMassPerAmount * m_MeanCorpuscularHemoglobin
Definition: PulseConfiguration.h:167
Pulse specific configuration parameters for all systems/equipment
Definition: PulseConfiguration.h:17
SEScalarTime * m_TimeStep
Definition: PulseConfiguration.h:65
SEScalar * m_NormalizedHeartRateParasympatheticSlope
Definition: PulseConfiguration.h:139
SEScalarVolumePerTime * m_PulmonaryVentilationRateMaximum
Definition: PulseConfiguration.h:594
Definition: SEScalarFlowResistance.h:23
static bool SerializeFromString(const std::string &src, PulseConfiguration &dst, SerializationFormat m)
Definition: PBPulseConfiguration.cpp:599
SEScalarInverseVolume * m_PleuralComplianceSensitivity
Definition: PulseConfiguration.h:593
SEScalarVolumePerTimePressureArea * m_LeftGlomerularFluidPermeabilityBaseline
Definition: PulseConfiguration.h:525
Definition: SEEnvironmentalConditions.h:15
SEScalarMassPerTime * m_DefaultFatDigestionRate
Definition: PulseConfiguration.h:444
Definition: SEScalar0To1.h:7
SEScalarMassPerTime * m_CalciumDigestionRate
Definition: PulseConfiguration.h:440
SEScalarTime * m_SystemicResistanceDistributedTimeDelay
Definition: PulseConfiguration.h:135
SEScalarVolumePerTimePressureArea * m_LeftTubularReabsorptionFluidPermeabilityBaseline
Definition: PulseConfiguration.h:527
SEScalarTime * m_MinimumAllowableInpiratoryAndExpiratoryPeriod
Definition: PulseConfiguration.h:589
Definition: SEScalarHeatCapacitancePerMass.h:22
eSwitch m_WritePatientBaselineFile
Definition: PulseConfiguration.h:69
SEScalarFlowElastance * m_LeftHeartElastanceMaximum
Definition: PulseConfiguration.h:200
SEScalarTemperature * m_CoreTemperatureLow
Definition: PulseConfiguration.h:351