CircuitManager.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 
6 #include "engine/CommonDefs.h"
7 #include "cdm/circuit/SECircuitManager.h"
8 class SEFluidCircuit;
9 class SEThermalCircuit;
10 
11 namespace pulse
12 {
13  class Data;
17  class PULSE_DECL CircuitManager : public SECircuitManager
18  {
19  public:
20 
21  CircuitManager(Data& data);
22  virtual ~CircuitManager();
23 
24  void Clear() override;
25  void StateChange() override;
26 
27  void SetReadOnlyFluid(bool b) override;
28 
29  // Active methods return the circuit configuration to be calculated
30  virtual SEFluidCircuit& GetActiveCardiovascularCircuit();
31  virtual SEFluidCircuit& GetCardiovascularCircuit();
32  virtual SEFluidCircuit& GetRenalCircuit();
33 
34  virtual SEFluidCircuit& GetActiveRespiratoryCircuit();
35  virtual SEFluidCircuit& GetRespiratoryCircuit();
36  virtual SEFluidCircuit& GetRespiratoryAndAnesthesiaMachineCircuit();
37  virtual SEFluidCircuit& GetRespiratoryAndBagValveMaskCircuit();
38  virtual SEFluidCircuit& GetRespiratoryAndInhalerCircuit();
39  virtual SEFluidCircuit& GetRespiratoryAndNasalCannulaCircuit();
40  virtual SEFluidCircuit& GetRespiratoryAndSimpleMaskCircuit();
41  virtual SEFluidCircuit& GetRespiratoryAndNonRebreatherMaskCircuit();
42  virtual SEFluidCircuit& GetRespiratoryAndMechanicalVentilationCircuit();
43  virtual SEFluidCircuit& GetRespiratoryAndMechanicalVentilatorCircuit();
44 
45  virtual SEThermalCircuit& GetTemperatureCircuit();
46  virtual SEThermalCircuit& GetExternalTemperatureCircuit();
47  virtual SEThermalCircuit& GetInternalTemperatureCircuit();
48 
49  virtual SEFluidCircuit& GetAnesthesiaMachineCircuit();
50  virtual SEFluidCircuit& GetBagValveMaskCircuit();
51  virtual SEFluidCircuit& GetMechanicalVentilatorCircuit();
52 
53  protected:
54 
55  Data& m_data;
56 
57  // Note, I am not making a tissue or inhaler standalone circuit
58  // this are super simple circuits and can't be tested by themselves
59 
60  // The combined cardiovascular circuit only needs to be built once,
61  // but we can build it different ways, with or without renal and tissue subcircuits.
62  // It depends on how the engine is configured, but this configuration does not change
63  // once it's set. Tests can also configure how it's built and test appropriately.
64 
66 
69 
71 
75 
76  // Based on if equipment is hooked up, we have to build out the combination of
77  // these 2 circuits and graphs as we don't want to dynamically modify circuits
78  // It's quicker and easier to test these combiniation circuits
87 
89  SEThermalCircuit* m_InternalTemperatureCircuit;// Attempt at circuit independence
90  SEThermalCircuit* m_ExternalTemperatureCircuit;// Attempt at circuit independence
91  };
92 }
93 
95 // Circuit Enums //
97 
98 namespace pulse
99 {
100  class Circuits
101  {
102  public:
103  DEFINE_STATIC_STRING(FullCardiovascular);
104  DEFINE_STATIC_STRING(Cardiovascular);
105  DEFINE_STATIC_STRING(Renal);
106  DEFINE_STATIC_STRING(Respiratory);
107  // Equipment
108  DEFINE_STATIC_STRING(AnesthesiaMachine);
109  DEFINE_STATIC_STRING(BagValveMask);
110  DEFINE_STATIC_STRING(MechanicalVentilator);
111  DEFINE_STATIC_STRING(RespiratoryAnesthesia);
112  DEFINE_STATIC_STRING(RespiratoryBagValveMask);
113  DEFINE_STATIC_STRING(RespiratoryInhaler);
114  DEFINE_STATIC_STRING(RespiratoryMechanicalVentilation);
115  DEFINE_STATIC_STRING(RespiratoryMechanicalVentilator);
116  DEFINE_STATIC_STRING(RespiratoryNasalCannula);
117  DEFINE_STATIC_STRING(RespiratoryNonRebreatherMask);
118  DEFINE_STATIC_STRING(RespiratorySimpleMask);
119  // Environment
120  DEFINE_STATIC_STRING(Temperature);
121  DEFINE_STATIC_STRING(InternalTemperature);
122  DEFINE_STATIC_STRING(ExternalTemperature);
123  };
124 
126  // Chyme Circuit Enums //
128 
129  class ChymeNode
130  {
131  public:
132  DEFINE_STATIC_STRING(SmallIntestineC1);
133  };
134 
135  class ChymePath
136  {
137  public:
138  DEFINE_STATIC_STRING(SmallIntestineC1ToSmallIntestine1);
139  DEFINE_STATIC_STRING(GroundToSmallIntestineC1);
140  DEFINE_STATIC_STRING(GutT1ToGround);
141  };
142 
144  // Respiratoruy Circuit Enums //
146 
147  class RespiratoryNode
148  {
149  public:
150  DEFINE_STATIC_STRING(Carina);
151 
152  DEFINE_STATIC_STRING(LeftAlveoli);
153  DEFINE_STATIC_STRING(LeftAlveoliLeak);
154  DEFINE_STATIC_STRING(LeftAnatomicDeadSpace);
155  DEFINE_STATIC_STRING(LeftAlveolarDeadSpace);
156  DEFINE_STATIC_STRING(LeftChestLeak);
157  DEFINE_STATIC_STRING(LeftPleural);
158  DEFINE_STATIC_STRING(LeftPleuralConnection);
159  DEFINE_STATIC_STRING(LeftNeedle);
160 
161  DEFINE_STATIC_STRING(Airway);
162  DEFINE_STATIC_STRING(Pharynx);
163 
164  DEFINE_STATIC_STRING(RightAlveoli);
165  DEFINE_STATIC_STRING(RightAlveoliLeak);
166  DEFINE_STATIC_STRING(RightAnatomicDeadSpace);
167  DEFINE_STATIC_STRING(RightAlveolarDeadSpace);
168  DEFINE_STATIC_STRING(RightChestLeak);
169  DEFINE_STATIC_STRING(RightPleural);
170  DEFINE_STATIC_STRING(RightPleuralConnection);
171  DEFINE_STATIC_STRING(RightNeedle);
172 
173  DEFINE_STATIC_STRING(Stomach);
174  DEFINE_STATIC_STRING(RespiratoryMuscle);
175 
176  };
177 
178  class RespiratoryPath
179  {
180  public:
181  DEFINE_STATIC_STRING(CarinaToLeftAnatomicDeadSpace);
182  DEFINE_STATIC_STRING(CarinaToRightAnatomicDeadSpace);
183 
184  DEFINE_STATIC_STRING(EnvironmentToLeftChestLeak);
185  DEFINE_STATIC_STRING(EnvironmentToAirway);
186  DEFINE_STATIC_STRING(EnvironmentToRightChestLeak);
187 
188  DEFINE_STATIC_STRING(LeftAlveoliLeakToLeftPleural);
189  DEFINE_STATIC_STRING(LeftAlveoliToLeftAlveoliLeak);
190  DEFINE_STATIC_STRING(LeftAlveoliToLeftPleuralConnection);
191  DEFINE_STATIC_STRING(LeftPleuralConnectionToLeftPleural);
192  DEFINE_STATIC_STRING(LeftAnatomicDeadSpaceToLeftAlveolarDeadSpace);
193  DEFINE_STATIC_STRING(LeftAlveolarDeadSpaceToLeftAlveoli);
194  DEFINE_STATIC_STRING(LeftChestLeakToLeftPleural);
195  DEFINE_STATIC_STRING(LeftNeedleToLeftPleural);
196  DEFINE_STATIC_STRING(EnvironmentToLeftNeedle);
197  DEFINE_STATIC_STRING(EnvironmentToLeftPleural);
198  DEFINE_STATIC_STRING(LeftPleuralToRespiratoryMuscle);
199 
200  DEFINE_STATIC_STRING(AirwayToPharynx);
201  DEFINE_STATIC_STRING(AirwayToStomach);
202  DEFINE_STATIC_STRING(PharynxToCarina);
203  DEFINE_STATIC_STRING(PharynxToEnvironment);
204 
205  DEFINE_STATIC_STRING(RightAlveoliLeakToRightPleural);
206  DEFINE_STATIC_STRING(RightAlveoliToRightAlveoliLeak);
207  DEFINE_STATIC_STRING(RightAlveoliToRightPleuralConnection);
208  DEFINE_STATIC_STRING(RightPleuralConnectionToRightPleural);
209  DEFINE_STATIC_STRING(RightAnatomicDeadSpaceToRightAlveolarDeadSpace);
210  DEFINE_STATIC_STRING(RightAlveolarDeadSpaceToRightAlveoli);
211  DEFINE_STATIC_STRING(RightChestLeakToRightPleural);
212  DEFINE_STATIC_STRING(RightNeedleToRightPleural);
213  DEFINE_STATIC_STRING(EnvironmentToRightNeedle);
214  DEFINE_STATIC_STRING(EnvironmentToRightPleural);
215  DEFINE_STATIC_STRING(RightPleuralToRespiratoryMuscle);
216 
217  DEFINE_STATIC_STRING(EnvironmentToRespiratoryMuscle);
218  DEFINE_STATIC_STRING(StomachToEnvironment);
219  };
220 
221  class ExpandedRespiratoryNode
222  {
223  };
224 
225  class ExpandedRespiratoryPath
226  {
227  };
228 
230  // Anesthesia Machine Circuit Enums //
232 
233  class AnesthesiaMachineNode
234  {
235  public:
236  DEFINE_STATIC_STRING_EX(Connection, AnesthesiaMachineConnection);
237  DEFINE_STATIC_STRING_EX(ExpiratoryLimb, AnesthesiaMachineExpiratoryLimb);
238  DEFINE_STATIC_STRING_EX(GasInlet, AnesthesiaMachineGasInlet);
239  DEFINE_STATIC_STRING_EX(GasSource, AnesthesiaMachineGasSource);
240  DEFINE_STATIC_STRING_EX(InspiratoryLimb, AnesthesiaMachineInspiratoryLimb);
241  DEFINE_STATIC_STRING_EX(ReliefValve, AnesthesiaMachineReliefValve);
242  DEFINE_STATIC_STRING_EX(Scrubber, AnesthesiaMachineScrubber);
243  DEFINE_STATIC_STRING_EX(Selector, AnesthesiaMachineSelector);
244  DEFINE_STATIC_STRING_EX(Ventilator, AnesthesiaMachineVentilator);
245  DEFINE_STATIC_STRING_EX(YPiece, AnesthesiaMachineYPiece);
246  };
247 
248  class AnesthesiaMachinePath
249  {
250  public:
251  DEFINE_STATIC_STRING_EX(EnvironmentToVentilator, EnvironmentToAnesthesiaMachineVentilator);
252  DEFINE_STATIC_STRING_EX(VentilatorToEnvironment, AnesthesiaMachineVentilatorToEnvironment);
253  DEFINE_STATIC_STRING_EX(EnvironmentToReliefValve, EnvironmentToAnesthesiaMachineReliefValve);
254  DEFINE_STATIC_STRING_EX(VentilatorToSelector, AnesthesiaMachineVentilatorToSelector);
255  DEFINE_STATIC_STRING_EX(SelectorToReliefValve, AnesthesiaMachineSelectorToReliefValve);
256  DEFINE_STATIC_STRING_EX(SelectorToScrubber, AnesthesiaMachineSelectorToScrubber);
257  DEFINE_STATIC_STRING_EX(ScrubberToGasInlet, AnesthesiaMachineScrubberToGasInlet);
258  DEFINE_STATIC_STRING_EX(EnvironmentToGasSource, EnvironmentToAnesthesiaMachineGasSource);
259  DEFINE_STATIC_STRING_EX(GasSourceToGasInlet, AnesthesiaMachineGasSourceToGasInlet);
260  DEFINE_STATIC_STRING_EX(GasInletToInspiratoryLimb, AnesthesiaMachineGasInletToInspiratoryLimb);
261  DEFINE_STATIC_STRING_EX(InspiratoryLimbToYPiece, AnesthesiaMachineInspiratoryLimbToYPiece);
262  DEFINE_STATIC_STRING_EX(YPieceToExpiratoryLimb, AnesthesiaMachineYPieceToExpiratoryLimb);
263  DEFINE_STATIC_STRING_EX(ExpiratoryLimbToSelector, AnesthesiaMachineExpiratoryLimbToSelector);
264  DEFINE_STATIC_STRING_EX(YPieceToConnection, AnesthesiaMachineYPieceToConnection);
265  DEFINE_STATIC_STRING_EX(ConnectionToEnvironment, AnesthesiaMachineConnectionToEnvironment);
266  };
267 
268  class CombinedAnesthesiaMachinePath
269  {
270  public:
271  DEFINE_STATIC_STRING(ConnectionToAirway);
272  DEFINE_STATIC_STRING(GroundConnection);
273  };
274 
276  // Bag Valve Mask Circuit Enums //
278 
279  class BagValveMaskNode
280  {
281  public:
282  DEFINE_STATIC_STRING_EX(Reservoir, BagValveMaskReservoir);
283  DEFINE_STATIC_STRING_EX(Bag, BagValveMaskBag);
284  DEFINE_STATIC_STRING_EX(Valve, BagValveMaskValve);
285  DEFINE_STATIC_STRING_EX(Filter, BagValveMaskFilter);
286  DEFINE_STATIC_STRING_EX(Connection, BagValveMaskConnection);
287  };
288 
289  class BagValveMaskPath
290  {
291  public:
292  DEFINE_STATIC_STRING_EX(EnvironmentToReservoir, BagValveMaskEnvironmentToReservoir);
293  DEFINE_STATIC_STRING_EX(ReservoirToBag, BagValveMaskReservoirToBag);
294  DEFINE_STATIC_STRING_EX(BagToValve, BagValveMaskBagToValve);
295  DEFINE_STATIC_STRING_EX(ValveToFilter, BagValveMaskValveToFilter);
296  DEFINE_STATIC_STRING_EX(FilterToConnection, BagValveMaskFilterToConnection);
297  DEFINE_STATIC_STRING_EX(ConnectionToEnvironment, BagValveMaskConnectionToEnvironment);
298  };
299 
300  class CombinedBagValveMaskPath
301  {
302  public:
303  DEFINE_STATIC_STRING_EX(ConnectionToAirway, BagValveMaskConnectionToAirway);
304  };
305 
307  // Inhaler Circuit Enums //
309 
310  class InhalerNode
311  {
312  public:
313  DEFINE_STATIC_STRING_EX(Mouthpiece, InhalerMouthpiece);
314  };
315 
316  class InhalerPath
317  {
318  public:
319  DEFINE_STATIC_STRING_EX(EnvironmentToMouthpiece, EnvironmentToInhalerMouthpiece);
320  DEFINE_STATIC_STRING_EX(MouthpieceToAirway, InhalerMouthpieceToAirway);
321  };
322 
324  // Mechanical Ventilation Circuit Enums //
326 
327  class MechanicalVentilationNode
328  {
329  public:
330  DEFINE_STATIC_STRING_EX(Connection, MechanicalVentilationConnection);
331  };
332 
333  class MechanicalVentilationPath
334  {
335  public:
336  DEFINE_STATIC_STRING_EX(ConnectionToAirway, MechanicalVentilationConnectionToAirway);
337  DEFINE_STATIC_STRING_EX(GroundToConnection, MechanicalVentilationGroundToConnection);
338  };
339 
341  // Mechanical Ventilator Circuit Enums //
343 
344  class MechanicalVentilatorNode
345  {
346  public:
347  DEFINE_STATIC_STRING_EX(Ventilator, MechanicalVentilator);
348  DEFINE_STATIC_STRING_EX(ExpiratoryValve, MechanicalVentilatorExpiratoryValve);
349  DEFINE_STATIC_STRING_EX(InspiratoryValve, MechanicalVentilatorInspiratoryValve);
350  DEFINE_STATIC_STRING_EX(ExpiratoryLimb, MechanicalVentilatorExpiratoryLimb);
351  DEFINE_STATIC_STRING_EX(InspiratoryLimb, MechanicalVentilatorInspiratoryLimb);
352  DEFINE_STATIC_STRING_EX(YPiece, MechanicalVentilatorYPiece);
353  DEFINE_STATIC_STRING_EX(ReliefValve, MechanicalVentilatorReliefValve);
354  DEFINE_STATIC_STRING_EX(Connection, MechanicalVentilatorConnection);
355  };
356 
357  class MechanicalVentilatorPath
358  {
359  public:
360  DEFINE_STATIC_STRING_EX(EnvironmentToVentilator, EnvironmentToMechanicalVentilator);
361  DEFINE_STATIC_STRING_EX(VentilatorToEnvironment, MechanicalVentilatorToEnvironment);
362  DEFINE_STATIC_STRING_EX(VentilatorToExpiratoryValve, MechanicalVentilatorToExpiratoryValve);
363  DEFINE_STATIC_STRING_EX(VentilatorToInspiratoryValve, MechanicalVentilatorToInspiratoryValve);
364  DEFINE_STATIC_STRING_EX(ExpiratoryLimbToExpiratoryValve, MechanicalVentilatorExpiratoryLimbToExpiratoryValve);
365  DEFINE_STATIC_STRING_EX(InspiratoryValveToInspiratoryLimb, MechanicalVentilatorInspiratoryValveToInspiratoryLimb);
366  DEFINE_STATIC_STRING_EX(ExpiratoryLimbToYPiece, MechanicalVentilatorExpiratoryLimbToYPiece);
367  DEFINE_STATIC_STRING_EX(InspiratoryLimbToYPiece, MechanicalVentilatorInspiratoryLimbToYPiece);
368  DEFINE_STATIC_STRING_EX(YPieceToConnection, MechanicalVentilatorYPieceToConnection);
369  DEFINE_STATIC_STRING_EX(LeakConnectionToEnvironment, MechanicalVentilatorLeakConnectionToEnvironment);
370  DEFINE_STATIC_STRING_EX(ConnectionToReliefValve, MechanicalVentilatorConnectionToReliefValve);
371  DEFINE_STATIC_STRING_EX(EnvironmentToReliefValve, MechanicalVentilatorEnvironmentToReliefVlave);
372  DEFINE_STATIC_STRING_EX(ConnectionToEnvironment, MechanicalVentilatorConnectionToEnvironment);
373  };
374 
375  class CombinedMechanicalVentilatorPath
376  {
377  public:
378  DEFINE_STATIC_STRING_EX(ConnectionToAirway, MechanicalVentilatorConnectionToAirway);
379  };
380 
382  // Nasal Cannula Circuit Enums //
384 
385  class NasalCannulaNode
386  {
387  public:
388  DEFINE_STATIC_STRING(NasalCannula);
389  DEFINE_STATIC_STRING(NasalCannulaOxygenSource);
390  };
391 
392  class NasalCannulaPath
393  {
394  public:
395  DEFINE_STATIC_STRING(NasalCannulaPressure);
396  DEFINE_STATIC_STRING(NasalCannulaOxygenInlet);
397  DEFINE_STATIC_STRING(NasalCannulaSeal);
398  DEFINE_STATIC_STRING(NasalCannulaToAirway);
399  };
400 
402  // NonRebreather Mask Circuit Enums //
404 
405  class NonRebreatherMaskNode
406  {
407  public:
408  DEFINE_STATIC_STRING(NonRebreatherMaskOxygenSource);
409  DEFINE_STATIC_STRING(NonRebreatherMask);
410  DEFINE_STATIC_STRING(NonRebreatherMaskBag);
411  DEFINE_STATIC_STRING(NonRebreatherMaskPorts);
412  };
413 
414  class NonRebreatherMaskPath
415  {
416  public:
417  DEFINE_STATIC_STRING(NonRebreatherMaskPressure);
418  DEFINE_STATIC_STRING(NonRebreatherMaskOxygenInlet);
419  DEFINE_STATIC_STRING(NonRebreatherMaskBag);
420  DEFINE_STATIC_STRING(NonRebreatherMaskReservoirValve);
421  DEFINE_STATIC_STRING(NonRebreatherMaskSeal);
422  DEFINE_STATIC_STRING(NonRebreatherMaskExhalationValves);
423  DEFINE_STATIC_STRING(NonRebreatherMaskExhalation);
424  DEFINE_STATIC_STRING(NonRebreatherMaskToAirway);
425  };
426 
428  // Simple Mask Circuit Enums //
430 
431  class SimpleMaskNode
432  {
433  public:
434  DEFINE_STATIC_STRING(SimpleMask);
435  DEFINE_STATIC_STRING(SimpleMaskOxygenSource);
436  };
437 
438  class SimpleMaskPath
439  {
440  public:
441  DEFINE_STATIC_STRING(SimpleMaskPressure);
442  DEFINE_STATIC_STRING(SimpleMaskOxygenInlet);
443  DEFINE_STATIC_STRING(SimpleMaskSeal);
444  DEFINE_STATIC_STRING(SimpleMaskPorts);
445  DEFINE_STATIC_STRING(SimpleMaskToAirway);
446  };
447 
449  // Environment Gas Circuit Enums //
451 
452  class EnvironmentNode
453  {
454  public:
455  DEFINE_STATIC_STRING(Ambient);
456  };
457 
459  // External Temperature Circuit Enums //
461 
462  class ExternalTemperatureNode
463  {
464  public:
465  DEFINE_STATIC_STRING(Active);
466  DEFINE_STATIC_STRING(Clothing);
467  DEFINE_STATIC_STRING(Enclosure);
468  DEFINE_STATIC_STRING(ExternalCore);
469  DEFINE_STATIC_STRING(ExternalSkin);
470  DEFINE_STATIC_STRING(ExternalGround);
471  DEFINE_STATIC_STRING(Ambient);
472  };
473 
474  class ExternalTemperaturePath
475  {
476  public:
477  DEFINE_STATIC_STRING(ActiveToClothing);
478  DEFINE_STATIC_STRING(ClothingToEnclosure);
479  DEFINE_STATIC_STRING(ClothingToEnvironment);
480  DEFINE_STATIC_STRING(ExternalCoreToGround);
481  DEFINE_STATIC_STRING(GroundToActive);
482  DEFINE_STATIC_STRING(GroundToClothing);
483  DEFINE_STATIC_STRING(GroundToEnclosure);
484  DEFINE_STATIC_STRING(GroundToEnvironment);
485  DEFINE_STATIC_STRING(ExternalSkinToGround);
486  DEFINE_STATIC_STRING(ExternalSkinToClothing);
487  };
488 
490  // Internal Temperature Circuit Enums //
492 
493  class InternalTemperatureNode
494  {
495  public:
496  DEFINE_STATIC_STRING(InternalCore);
497  DEFINE_STATIC_STRING(InternalSkin);
498  DEFINE_STATIC_STRING(InternalGround);
499  };
500 
501  class InternalTemperaturePath
502  {
503  public:
504  DEFINE_STATIC_STRING(GroundToInternalCore);
505  DEFINE_STATIC_STRING(InternalCoreToInternalSkin);
506  DEFINE_STATIC_STRING(InternalCoreToGround);
507  DEFINE_STATIC_STRING(InternalSkinToGround);
508  };
509 
511  // Combined Temperature Circuit Enums //
513 
514  class CombinedTemperaturePath
515  {
516  public:
517  DEFINE_STATIC_STRING(InternalCoreToExternalCore);
518  DEFINE_STATIC_STRING(InternalSkinToExternalSkin);
519  };
520 
521  class CardiovascularNode
522  {
523  public:
524  DEFINE_STATIC_STRING(RightHeart1);
525  DEFINE_STATIC_STRING(RightHeart2);
526  DEFINE_STATIC_STRING(RightHeart3);
527 
528  DEFINE_STATIC_STRING(MainPulmonaryArteries1);
529  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryArteries1);
530  DEFINE_STATIC_STRING(LeftPulmonaryArteries1);
531  DEFINE_STATIC_STRING(RightIntermediatePulmonaryArteries1);
532  DEFINE_STATIC_STRING(RightPulmonaryArteries1);
533 
534  DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1);
535  DEFINE_STATIC_STRING(RightPulmonaryCapillaries1);
536 
537  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryVeins1);
538  DEFINE_STATIC_STRING(LeftPulmonaryVeins1);
539  DEFINE_STATIC_STRING(RightIntermediatePulmonaryVeins1);
540  DEFINE_STATIC_STRING(RightPulmonaryVeins1);
541 
542  DEFINE_STATIC_STRING(LeftHeart1);
543  DEFINE_STATIC_STRING(LeftHeart2);
544  DEFINE_STATIC_STRING(LeftHeart3);
545 
546  DEFINE_STATIC_STRING(Aorta1);
547  DEFINE_STATIC_STRING(Aorta2);
548  DEFINE_STATIC_STRING(Aorta3);
549  DEFINE_STATIC_STRING(Aorta4);
550 
551  DEFINE_STATIC_STRING(AbdominalCavity1);
552 
553  DEFINE_STATIC_STRING(Bone1);
554  DEFINE_STATIC_STRING(Bone2);
555 
556  DEFINE_STATIC_STRING(Brain1);
557  DEFINE_STATIC_STRING(Brain2);
558 
559  DEFINE_STATIC_STRING(Fat1);
560  DEFINE_STATIC_STRING(Fat2);
561 
562  DEFINE_STATIC_STRING(LargeIntestine1);
563 
564  DEFINE_STATIC_STRING(Liver1);
565  DEFINE_STATIC_STRING(Liver2);
566  DEFINE_STATIC_STRING(PortalVein1);
567 
568  DEFINE_STATIC_STRING(LeftArm1);
569  DEFINE_STATIC_STRING(LeftArm2);
570 
571  DEFINE_STATIC_STRING(LeftKidney1);
572  DEFINE_STATIC_STRING(LeftKidney2);
573 
574  DEFINE_STATIC_STRING(LeftLeg1);
575  DEFINE_STATIC_STRING(LeftLeg2);
576 
577  DEFINE_STATIC_STRING(Muscle1);
578  DEFINE_STATIC_STRING(Muscle2);
579 
580  DEFINE_STATIC_STRING(Myocardium1);
581  DEFINE_STATIC_STRING(Myocardium2);
582 
583  DEFINE_STATIC_STRING(Pericardium1);
584 
585  DEFINE_STATIC_STRING(RightArm1);
586  DEFINE_STATIC_STRING(RightArm2);
587 
588  DEFINE_STATIC_STRING(RightKidney1);
589  DEFINE_STATIC_STRING(RightKidney2);
590 
591  DEFINE_STATIC_STRING(RightLeg1);
592  DEFINE_STATIC_STRING(RightLeg2);
593 
594  DEFINE_STATIC_STRING(Skin1);
595  DEFINE_STATIC_STRING(Skin2);
596 
597  DEFINE_STATIC_STRING(SmallIntestine1);
598 
599  DEFINE_STATIC_STRING(Splanchnic1);
600 
601  DEFINE_STATIC_STRING(Spleen1);
602 
603  DEFINE_STATIC_STRING(VenaCava1);
604 
605  DEFINE_STATIC_STRING(Ground);
606  };
607 
608  class CardiovascularPath
609  {
610  public:
611  // Heart and Lungs
612  DEFINE_STATIC_STRING(VenaCava1ToRightHeart2);
613  DEFINE_STATIC_STRING(RightHeart2ToRightHeart1);
614  DEFINE_STATIC_STRING(RightHeart1ToRightHeart3);
615  DEFINE_STATIC_STRING(RightHeart3ToGround);
616  DEFINE_STATIC_STRING(RightHeart1ToMainPulmonaryArteries1);
617  DEFINE_STATIC_STRING(MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
618  DEFINE_STATIC_STRING(RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1);
619  DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightPulmonaryVeins1);
620  DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
621  DEFINE_STATIC_STRING(RightPulmonaryArteries1ToGround);
622  DEFINE_STATIC_STRING(RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
623  DEFINE_STATIC_STRING(RightPulmonaryCapillaries1ToGround);
624  DEFINE_STATIC_STRING(RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1);
625  DEFINE_STATIC_STRING(RightPulmonaryVeins1ToGround);
626  DEFINE_STATIC_STRING(RightPulmonaryVeinsLeak1ToGround);
627  DEFINE_STATIC_STRING(RightIntermediatePulmonaryVeins1ToLeftHeart2);
628  DEFINE_STATIC_STRING(MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
629  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1);
630  DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
631  DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
632  DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToGround);
633  DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1ToGround);
634  DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
635  DEFINE_STATIC_STRING(LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
636  DEFINE_STATIC_STRING(LeftPulmonaryVeins1ToGround);
637  DEFINE_STATIC_STRING(LeftPulmonaryVeinsLeak1ToGround);
638  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryVeins1ToLeftHeart2)
639 
640 
641  DEFINE_STATIC_STRING(LeftHeart2ToLeftHeart1);
642  DEFINE_STATIC_STRING(LeftHeart1ToLeftHeart3);
643  DEFINE_STATIC_STRING(LeftHeart3ToGround);
644  DEFINE_STATIC_STRING(LeftHeart1ToAorta2);
645  DEFINE_STATIC_STRING(Aorta2ToAorta3);
646  DEFINE_STATIC_STRING(Aorta3ToAorta1);
647  DEFINE_STATIC_STRING(Aorta1ToAorta4);
648 
649  // Abdominal Cavity
650  DEFINE_STATIC_STRING(GroundToAorta4);
651  DEFINE_STATIC_STRING(AbdominalCavity1ToGround);
652  DEFINE_STATIC_STRING(GroundToAbdominalCavity1);
653 
654  // Brain
655  DEFINE_STATIC_STRING(Aorta1ToBrain1);
656  DEFINE_STATIC_STRING(Brain1ToGround);
657  DEFINE_STATIC_STRING(Brain1ToBrain2);
658  DEFINE_STATIC_STRING(Brain2ToVenaCava1);
659  // Bone
660  DEFINE_STATIC_STRING(Aorta1ToBone1);
661  DEFINE_STATIC_STRING(Bone1ToGround);
662  DEFINE_STATIC_STRING(Bone1ToBone2);
663  DEFINE_STATIC_STRING(Bone2ToVenaCava1);
664  // Fat
665  DEFINE_STATIC_STRING(Aorta1ToFat1);
666  DEFINE_STATIC_STRING(Fat1ToGround);
667  DEFINE_STATIC_STRING(Fat1ToFat2);
668  DEFINE_STATIC_STRING(Fat2ToVenaCava1);
669  // Large Intestine
670  DEFINE_STATIC_STRING(Aorta1ToLargeIntestine1);
671  DEFINE_STATIC_STRING(LargeIntestine1ToGround);
672  DEFINE_STATIC_STRING(LargeIntestine1ToPortalVein1);
673  // Left Arm
674  DEFINE_STATIC_STRING(Aorta1ToLeftArm1);
675  DEFINE_STATIC_STRING(LeftArm1ToGround);
676  DEFINE_STATIC_STRING(LeftArm1ToLeftArm2);
677  DEFINE_STATIC_STRING(LeftArm2ToVenaCava1);
678  // Left Kidney
679  DEFINE_STATIC_STRING(Aorta1ToLeftKidney1);
680  DEFINE_STATIC_STRING(LeftKidney1ToGround);
681  DEFINE_STATIC_STRING(LeftKidney1ToLeftKidney2);
682  DEFINE_STATIC_STRING(LeftKidney2ToVenaCava1);
683  // Left Leg
684  DEFINE_STATIC_STRING(Aorta1ToLeftLeg1);
685  DEFINE_STATIC_STRING(LeftLeg1ToGround);
686  DEFINE_STATIC_STRING(LeftLeg1ToLeftLeg2);
687  DEFINE_STATIC_STRING(LeftLeg2ToVenaCava1);
688  // Liver
689  DEFINE_STATIC_STRING(Aorta1ToLiver1);
690  DEFINE_STATIC_STRING(Liver1ToGround);
691  DEFINE_STATIC_STRING(PortalVein1ToLiver1);
692  DEFINE_STATIC_STRING(Liver1ToLiver2);
693  DEFINE_STATIC_STRING(Liver2ToVenaCava1);
694  // Muscle
695  DEFINE_STATIC_STRING(Aorta1ToMuscle1);
696  DEFINE_STATIC_STRING(Muscle1ToGround);
697  DEFINE_STATIC_STRING(Muscle1ToMuscle2);
698  DEFINE_STATIC_STRING(Muscle2ToVenaCava1);
699  // Myocardium
700  DEFINE_STATIC_STRING(Aorta1ToMyocardium1);
701  DEFINE_STATIC_STRING(Myocardium1ToGround);
702  DEFINE_STATIC_STRING(Myocardium1ToMyocardium2);
703  DEFINE_STATIC_STRING(Myocardium2ToVenaCava1);
704  // Pericardium
705  DEFINE_STATIC_STRING(Pericardium1ToGround);
706  DEFINE_STATIC_STRING(GroundToPericardium1);
707  // Right Arm
708  DEFINE_STATIC_STRING(Aorta1ToRightArm1);
709  DEFINE_STATIC_STRING(RightArm1ToGround);
710  DEFINE_STATIC_STRING(RightArm1ToRightArm2);
711  DEFINE_STATIC_STRING(RightArm2ToVenaCava1);
712  // Right Kidney
713  DEFINE_STATIC_STRING(Aorta1ToRightKidney1);
714  DEFINE_STATIC_STRING(RightKidney1ToGround);
715  DEFINE_STATIC_STRING(RightKidney1ToRightKidney2);
716  DEFINE_STATIC_STRING(RightKidney2ToVenaCava1);
717  // Right Leg
718  DEFINE_STATIC_STRING(Aorta1ToRightLeg1);
719  DEFINE_STATIC_STRING(RightLeg1ToGround);
720  DEFINE_STATIC_STRING(RightLeg1ToRightLeg2);
721  DEFINE_STATIC_STRING(RightLeg2ToVenaCava1);
722  // Skin
723  DEFINE_STATIC_STRING(Aorta1ToSkin1);
724  DEFINE_STATIC_STRING(Skin1ToGround);
725  DEFINE_STATIC_STRING(Skin1ToSkin2);
726  DEFINE_STATIC_STRING(Skin2ToVenaCava1);
727  // Small Intestine
728  DEFINE_STATIC_STRING(Aorta1ToSmallIntestine1);
729  DEFINE_STATIC_STRING(SmallIntestine1ToGround);
730  DEFINE_STATIC_STRING(SmallIntestine1ToPortalVein1);
731  // Splanchnic
732  DEFINE_STATIC_STRING(Aorta1ToSplanchnic1);
733  DEFINE_STATIC_STRING(Splanchnic1ToGround);
734  DEFINE_STATIC_STRING(Splanchnic1ToPortalVein1);
735  // Spleen
736  DEFINE_STATIC_STRING(Aorta1ToSpleen1);
737  DEFINE_STATIC_STRING(Spleen1ToGround);
738  DEFINE_STATIC_STRING(Spleen1ToPortalVein1);
739  // Vena Cava
740  DEFINE_STATIC_STRING(VenaCava1ToGround);
741  DEFINE_STATIC_STRING(IVToVenaCava1);
742  };
743 
744  class ExpandedCardiovascularNode
745  {
746  public:
747  DEFINE_STATIC_STRING(RightHeart1);
748  DEFINE_STATIC_STRING(RightHeart2);
749  DEFINE_STATIC_STRING(RightHeart3);
750 
751  DEFINE_STATIC_STRING(MainPulmonaryArteries1);
752  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryArteries1);
753  DEFINE_STATIC_STRING(LeftPulmonaryArteries1);
754  DEFINE_STATIC_STRING(RightIntermediatePulmonaryArteries1);
755  DEFINE_STATIC_STRING(RightPulmonaryArteries1);
756 
757  DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1);
758  DEFINE_STATIC_STRING(RightPulmonaryCapillaries1);
759 
760  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryVeins1);
761  DEFINE_STATIC_STRING(LeftPulmonaryVeins1);
762  DEFINE_STATIC_STRING(RightIntermediatePulmonaryVeins1);
763  DEFINE_STATIC_STRING(RightPulmonaryVeins1);
764 
765  DEFINE_STATIC_STRING(LeftHeart1);
766  DEFINE_STATIC_STRING(LeftHeart2);
767  DEFINE_STATIC_STRING(LeftHeart3);
768 
769  DEFINE_STATIC_STRING(Aorta1);
770  DEFINE_STATIC_STRING(Aorta2);
771  DEFINE_STATIC_STRING(Aorta3);
772  DEFINE_STATIC_STRING(Aorta4);
773  DEFINE_STATIC_STRING(Aorta5);
774 
775  DEFINE_STATIC_STRING(AbdominalCavity1);
776 
777  DEFINE_STATIC_STRING(Extracranial1);
778  DEFINE_STATIC_STRING(Extracranial2);
779  DEFINE_STATIC_STRING(Extracranial3);
780  DEFINE_STATIC_STRING(Intracranial1);
781  DEFINE_STATIC_STRING(Intracranial2);
782  DEFINE_STATIC_STRING(Intracranial3);
783 
784  DEFINE_STATIC_STRING(Gut1);
785 
786  DEFINE_STATIC_STRING(LargeIntestine1);
787 
788  DEFINE_STATIC_STRING(Liver1);
789  DEFINE_STATIC_STRING(Liver2);
790  DEFINE_STATIC_STRING(PortalVein1);
791 
792  DEFINE_STATIC_STRING(LeftArm1);
793  DEFINE_STATIC_STRING(LeftArm2);
794  DEFINE_STATIC_STRING(LeftArmBone1);
795  DEFINE_STATIC_STRING(LeftArmFat1);
796  DEFINE_STATIC_STRING(LeftArmMicroVasculature1);
797  DEFINE_STATIC_STRING(LeftArmMuscle1);
798  DEFINE_STATIC_STRING(LeftArmSkin1);
799 
800  DEFINE_STATIC_STRING(LeftKidney1);
801  DEFINE_STATIC_STRING(LeftKidney2);
802  DEFINE_STATIC_STRING(LeftKidney3);
803 
804  DEFINE_STATIC_STRING(LeftLeg1);
805  DEFINE_STATIC_STRING(LeftLeg2);
806  DEFINE_STATIC_STRING(LeftLegBone1);
807  DEFINE_STATIC_STRING(LeftLegFat1);
808  DEFINE_STATIC_STRING(LeftLegMicroVasculature1);
809  DEFINE_STATIC_STRING(LeftLegMuscle1);
810  DEFINE_STATIC_STRING(LeftLegSkin1);
811 
812  DEFINE_STATIC_STRING(Myocardium1);
813  DEFINE_STATIC_STRING(Myocardium2);
814  DEFINE_STATIC_STRING(Myocardium3);
815 
816  DEFINE_STATIC_STRING(Pericardium1);
817 
818  DEFINE_STATIC_STRING(RightArm1);
819  DEFINE_STATIC_STRING(RightArm2);
820  DEFINE_STATIC_STRING(RightArmBone1);
821  DEFINE_STATIC_STRING(RightArmFat1);
822  DEFINE_STATIC_STRING(RightArmMicroVasculature1);
823  DEFINE_STATIC_STRING(RightArmMuscle1);
824  DEFINE_STATIC_STRING(RightArmSkin1);
825 
826  DEFINE_STATIC_STRING(RightKidney1);
827  DEFINE_STATIC_STRING(RightKidney2);
828  DEFINE_STATIC_STRING(RightKidney3);
829 
830  DEFINE_STATIC_STRING(RightLeg1);
831  DEFINE_STATIC_STRING(RightLeg2);
832  DEFINE_STATIC_STRING(RightLegBone1);
833  DEFINE_STATIC_STRING(RightLegFat1);
834  DEFINE_STATIC_STRING(RightLegMicroVasculature1);
835  DEFINE_STATIC_STRING(RightLegMuscle1);
836  DEFINE_STATIC_STRING(RightLegSkin1);
837 
838  DEFINE_STATIC_STRING(SmallIntestine1);
839 
840  DEFINE_STATIC_STRING(Splanchnic1);
841 
842  DEFINE_STATIC_STRING(Spleen1);
843 
844  DEFINE_STATIC_STRING(Torso1)
845  DEFINE_STATIC_STRING(Torso2)
846  DEFINE_STATIC_STRING(TorsoBone1);
847  DEFINE_STATIC_STRING(TorsoFat1);
848  DEFINE_STATIC_STRING(TorsoMicrovasculature1)
849  DEFINE_STATIC_STRING(TorsoMuscle1);
850  DEFINE_STATIC_STRING(TorsoSkin1);
851 
852  DEFINE_STATIC_STRING(VenaCava1);
853  DEFINE_STATIC_STRING(VenaCava2);
854 
855  DEFINE_STATIC_STRING(Ground);
856  };
857 
858  class ExpandedCardiovascularPath
859  {
860  public:
861  // Heart and Lungs
862  DEFINE_STATIC_STRING(VenaCava1ToRightHeart2);
863  DEFINE_STATIC_STRING(RightHeart2ToRightHeart1);
864  DEFINE_STATIC_STRING(RightHeart1ToRightHeart3);
865  DEFINE_STATIC_STRING(RightHeart3ToGround);
866  DEFINE_STATIC_STRING(RightHeart1ToMainPulmonaryArteries1);
867  DEFINE_STATIC_STRING(MainPulmonaryArteries1ToRightIntermediatePulmonaryArteries1);
868  DEFINE_STATIC_STRING(RightIntermediatePulmonaryArteries1ToRightPulmonaryArteries1);
869  DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightPulmonaryVeins1);
870  DEFINE_STATIC_STRING(RightPulmonaryArteries1ToRightPulmonaryCapillaries1);
871  DEFINE_STATIC_STRING(RightPulmonaryArteries1ToGround);
872  DEFINE_STATIC_STRING(RightPulmonaryCapillaries1ToRightPulmonaryVeins1);
873  DEFINE_STATIC_STRING(RightPulmonaryCapillaries1ToGround);
874  DEFINE_STATIC_STRING(RightPulmonaryVeins1ToRightIntermediatePulmonaryVeins1);
875  DEFINE_STATIC_STRING(RightPulmonaryVeins1ToGround);
876  DEFINE_STATIC_STRING(RightIntermediatePulmonaryVeins1ToLeftHeart2);
877  DEFINE_STATIC_STRING(MainPulmonaryArteries1ToLeftIntermediatePulmonaryArteries1);
878  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryArteries1ToLeftPulmonaryArteries1);
879  DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftPulmonaryVeins1);
880  DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToLeftPulmonaryCapillaries1);
881  DEFINE_STATIC_STRING(LeftPulmonaryArteries1ToGround);
882  DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1ToGround);
883  DEFINE_STATIC_STRING(LeftPulmonaryCapillaries1ToLeftPulmonaryVeins1);
884  DEFINE_STATIC_STRING(LeftPulmonaryVeins1ToLeftIntermediatePulmonaryVeins1);
885  DEFINE_STATIC_STRING(LeftPulmonaryVeins1ToGround);
886  DEFINE_STATIC_STRING(LeftIntermediatePulmonaryVeins1ToLeftHeart2)
887  DEFINE_STATIC_STRING(LeftHeart2ToLeftHeart1);
888  DEFINE_STATIC_STRING(LeftHeart1ToLeftHeart3);
889  DEFINE_STATIC_STRING(LeftHeart3ToGround);
890  DEFINE_STATIC_STRING(LeftHeart1ToAorta2);
891  DEFINE_STATIC_STRING(Aorta2ToAorta3);
892  DEFINE_STATIC_STRING(Aorta3ToAorta1);
893  DEFINE_STATIC_STRING(Aorta1ToAorta4);
894  DEFINE_STATIC_STRING(Aorta1ToAorta5);
895 
896  // Abdominal Cavity
897  DEFINE_STATIC_STRING(GroundToAorta4);
898  DEFINE_STATIC_STRING(AbdominalCavity1ToGround);
899  DEFINE_STATIC_STRING(GroundToAbdominalCavity1);
900  // Brain
901  DEFINE_STATIC_STRING(Aorta5ToExtracranial1);
902  DEFINE_STATIC_STRING(Extracranial1ToGround);
903  DEFINE_STATIC_STRING(Extracranial2ToGround);
904  DEFINE_STATIC_STRING(Extracranial3ToGround);
905  DEFINE_STATIC_STRING(Extracranial1ToExtracranial2);
906  DEFINE_STATIC_STRING(Extracranial2ToExtracranial3);
907  DEFINE_STATIC_STRING(Extracranial3ToVenaCava2);
908  DEFINE_STATIC_STRING(Aorta5ToIntracranial1);
909  DEFINE_STATIC_STRING(Intracranial1ToGround);
910  DEFINE_STATIC_STRING(Intracranial2ToGround);
911  DEFINE_STATIC_STRING(Intracranial3ToGround);
912  DEFINE_STATIC_STRING(Intracranial1ToIntracranial2);
913  DEFINE_STATIC_STRING(Intracranial2ToIntracranial3);
914  DEFINE_STATIC_STRING(Intracranial3ToVenaCava2);
915  // Gut
916  DEFINE_STATIC_STRING(Aorta5ToGut1);
917  DEFINE_STATIC_STRING(Gut1ToGround);
918  // Large Intestine
919  DEFINE_STATIC_STRING(Gut1ToLargeIntestine1);
920  DEFINE_STATIC_STRING(LargeIntestine1ToGround);
921  DEFINE_STATIC_STRING(LargeIntestine1ToPortalVein1);
922  // Left Arm
923  DEFINE_STATIC_STRING(Aorta5ToLeftArm1);
924  DEFINE_STATIC_STRING(LeftArm1ToGround);
925  DEFINE_STATIC_STRING(LeftArm2ToGround);
926  DEFINE_STATIC_STRING(LeftArm1ToLeftArmBone1);
927  DEFINE_STATIC_STRING(LeftArmBone1ToGround);
928  DEFINE_STATIC_STRING(LeftArmBone1ToLeftArm2);
929  DEFINE_STATIC_STRING(LeftArm1ToLeftArmFat1);
930  DEFINE_STATIC_STRING(LeftArmFat1ToGround);
931  DEFINE_STATIC_STRING(LeftArmFat1ToLeftArm2);
932  DEFINE_STATIC_STRING(LeftArm1ToLeftArmMicrovasculature1);
933  DEFINE_STATIC_STRING(LeftArmMicrovasculature1ToGround);
934  DEFINE_STATIC_STRING(LeftArmMicrovasculature1ToLeftArm2);
935  DEFINE_STATIC_STRING(LeftArm1ToLeftArmMuscle1);
936  DEFINE_STATIC_STRING(LeftArmMuscle1ToGround);
937  DEFINE_STATIC_STRING(LeftArmMuscle1ToLeftArm2);
938  DEFINE_STATIC_STRING(LeftArm1ToLeftArmSkin1);
939  DEFINE_STATIC_STRING(LeftArmSkin1ToGround);
940  DEFINE_STATIC_STRING(LeftArmSkin1ToLeftArm2);
941  DEFINE_STATIC_STRING(LeftArm2ToVenaCava2);
942  // Left Kidney
943  DEFINE_STATIC_STRING(Aorta5ToLeftKidney1);
944  DEFINE_STATIC_STRING(LeftKidney1ToLeftKidney2);
945  DEFINE_STATIC_STRING(LeftKidney1ToGround);
946  DEFINE_STATIC_STRING(LeftKidney2ToGround);
947  DEFINE_STATIC_STRING(LeftKidney3ToGround);
948  DEFINE_STATIC_STRING(LeftKidney2ToLeftKidney3);
949  DEFINE_STATIC_STRING(LeftKidney3ToVenaCava2);
950  // Left Leg
951  DEFINE_STATIC_STRING(Aorta5ToLeftLeg1);
952  DEFINE_STATIC_STRING(LeftLeg1ToGround);
953  DEFINE_STATIC_STRING(LeftLeg2ToGround);
954  DEFINE_STATIC_STRING(LeftLeg1ToLeftLegBone1);
955  DEFINE_STATIC_STRING(LeftLegBone1ToGround);
956  DEFINE_STATIC_STRING(LeftLegBone1ToLeftLeg2);
957  DEFINE_STATIC_STRING(LeftLeg1ToLeftLegFat1);
958  DEFINE_STATIC_STRING(LeftLegFat1ToGround);
959  DEFINE_STATIC_STRING(LeftLegFat1ToLeftLeg2);
960  DEFINE_STATIC_STRING(LeftLeg1ToLeftLegMicrovasculature1);
961  DEFINE_STATIC_STRING(LeftLegMicrovasculature1ToGround);
962  DEFINE_STATIC_STRING(LeftLegMicrovasculature1ToLeftLeg2);
963  DEFINE_STATIC_STRING(LeftLeg1ToLeftLegMuscle1);
964  DEFINE_STATIC_STRING(LeftLegMuscle1ToGround);
965  DEFINE_STATIC_STRING(LeftLegMuscle1ToLeftLeg2);
966  DEFINE_STATIC_STRING(LeftLeg1ToLeftLegSkin1);
967  DEFINE_STATIC_STRING(LeftLegSkin1ToGround);
968  DEFINE_STATIC_STRING(LeftLegSkin1ToLeftLeg2);
969  DEFINE_STATIC_STRING(LeftLeg2ToVenaCava2);
970  // Liver
971  DEFINE_STATIC_STRING(Gut1ToLiver1);
972  DEFINE_STATIC_STRING(Liver1ToGround);
973  DEFINE_STATIC_STRING(Liver2ToGround);
974  DEFINE_STATIC_STRING(PortalVein1ToLiver1);
975  DEFINE_STATIC_STRING(Liver1ToLiver2);
976  DEFINE_STATIC_STRING(Liver2ToVenaCava2);
977  // Myocardium
978  DEFINE_STATIC_STRING(Aorta5ToMyocardium1);
979  DEFINE_STATIC_STRING(Myocardium1ToMyocardium2);
980  DEFINE_STATIC_STRING(Myocardium1ToGround);
981  DEFINE_STATIC_STRING(Myocardium2ToGround);
982  DEFINE_STATIC_STRING(Myocardium3ToGround);
983  DEFINE_STATIC_STRING(Myocardium2ToMyocardium3);
984  DEFINE_STATIC_STRING(Myocardium3ToVenaCava2);
985  // Pericardium
986  DEFINE_STATIC_STRING(Pericardium1ToGround);
987  DEFINE_STATIC_STRING(GroundToPericardium1);
988  // Right Arm
989  DEFINE_STATIC_STRING(Aorta5ToRightArm1);
990  DEFINE_STATIC_STRING(RightArm1ToGround);
991  DEFINE_STATIC_STRING(RightArm2ToGround);
992  DEFINE_STATIC_STRING(RightArm1ToRightArmBone1);
993  DEFINE_STATIC_STRING(RightArmBone1ToGround);
994  DEFINE_STATIC_STRING(RightArmBone1ToRightArm2);
995  DEFINE_STATIC_STRING(RightArm1ToRightArmFat1);
996  DEFINE_STATIC_STRING(RightArmFat1ToGround);
997  DEFINE_STATIC_STRING(RightArmFat1ToRightArm2);
998  DEFINE_STATIC_STRING(RightArm1ToRightArmMicrovasculature1);
999  DEFINE_STATIC_STRING(RightArmMicrovasculature1ToGround);
1000  DEFINE_STATIC_STRING(RightArmMicrovasculature1ToRightArm2);
1001  DEFINE_STATIC_STRING(RightArm1ToRightArmMuscle1);
1002  DEFINE_STATIC_STRING(RightArmMuscle1ToGround);
1003  DEFINE_STATIC_STRING(RightArmMuscle1ToRightArm2);
1004  DEFINE_STATIC_STRING(RightArm1ToRightArmSkin1);
1005  DEFINE_STATIC_STRING(RightArmSkin1ToGround);
1006  DEFINE_STATIC_STRING(RightArmSkin1ToRightArm2);
1007  DEFINE_STATIC_STRING(RightArm2ToVenaCava2);
1008  // Right Kidney
1009  DEFINE_STATIC_STRING(Aorta5ToRightKidney1);
1010  DEFINE_STATIC_STRING(RightKidney1ToRightKidney2);
1011  DEFINE_STATIC_STRING(RightKidney1ToGround);
1012  DEFINE_STATIC_STRING(RightKidney2ToGround);
1013  DEFINE_STATIC_STRING(RightKidney3ToGround);
1014  DEFINE_STATIC_STRING(RightKidney2ToRightKidney3);
1015  DEFINE_STATIC_STRING(RightKidney3ToVenaCava2);
1016  // Right Leg
1017  DEFINE_STATIC_STRING(Aorta5ToRightLeg1);
1018  DEFINE_STATIC_STRING(RightLeg1ToGround);
1019  DEFINE_STATIC_STRING(RightLeg2ToGround);
1020  DEFINE_STATIC_STRING(RightLeg1ToRightLegBone1);
1021  DEFINE_STATIC_STRING(RightLegBone1ToGround);
1022  DEFINE_STATIC_STRING(RightLegBone1ToRightLeg2);
1023  DEFINE_STATIC_STRING(RightLeg1ToRightLegFat1);
1024  DEFINE_STATIC_STRING(RightLegFat1ToGround);
1025  DEFINE_STATIC_STRING(RightLegFat1ToRightLeg2);
1026  DEFINE_STATIC_STRING(RightLeg1ToRightLegMicrovasculature1);
1027  DEFINE_STATIC_STRING(RightLegMicrovasculature1ToGround);
1028  DEFINE_STATIC_STRING(RightLegMicrovasculature1ToRightLeg2);
1029  DEFINE_STATIC_STRING(RightLeg1ToRightLegMuscle1);
1030  DEFINE_STATIC_STRING(RightLegMuscle1ToGround);
1031  DEFINE_STATIC_STRING(RightLegMuscle1ToRightLeg2);
1032  DEFINE_STATIC_STRING(RightLeg1ToRightLegSkin1);
1033  DEFINE_STATIC_STRING(RightLegSkin1ToGround);
1034  DEFINE_STATIC_STRING(RightLegSkin1ToRightLeg2);
1035  DEFINE_STATIC_STRING(RightLeg2ToVenaCava2);
1036  // Small Intestine
1037  DEFINE_STATIC_STRING(Gut1ToSmallIntestine1);
1038  DEFINE_STATIC_STRING(SmallIntestine1ToGround);
1039  DEFINE_STATIC_STRING(SmallIntestine1ToPortalVein1);
1040  // Splanchnic
1041  DEFINE_STATIC_STRING(Gut1ToSplanchnic1);
1042  DEFINE_STATIC_STRING(Splanchnic1ToGround);
1043  DEFINE_STATIC_STRING(Splanchnic1ToPortalVein1);
1044  // Spleen
1045  DEFINE_STATIC_STRING(Gut1ToSpleen1);
1046  DEFINE_STATIC_STRING(Spleen1ToGround);
1047  DEFINE_STATIC_STRING(Spleen1ToPortalVein1);
1048  // Torso
1049  DEFINE_STATIC_STRING(Aorta5ToTorso1);
1050  DEFINE_STATIC_STRING(Torso1ToGround);
1051  DEFINE_STATIC_STRING(Torso2ToGround);
1052  DEFINE_STATIC_STRING(Torso1ToTorsoBone1);
1053  DEFINE_STATIC_STRING(TorsoBone1ToGround);
1054  DEFINE_STATIC_STRING(TorsoBone1ToTorso2);
1055  DEFINE_STATIC_STRING(Torso1ToTorsoFat1);
1056  DEFINE_STATIC_STRING(TorsoFat1ToGround);
1057  DEFINE_STATIC_STRING(TorsoFat1ToTorso2);
1058  DEFINE_STATIC_STRING(Torso1ToTorsoMicrovasculature1);
1059  DEFINE_STATIC_STRING(TorsoMicrovasculature1ToGround);
1060  DEFINE_STATIC_STRING(TorsoMicrovasculature1ToTorso2);
1061  DEFINE_STATIC_STRING(Torso1ToTorsoMuscle1);
1062  DEFINE_STATIC_STRING(TorsoMuscle1ToGround);
1063  DEFINE_STATIC_STRING(TorsoMuscle1ToTorso2);
1064  DEFINE_STATIC_STRING(Torso1ToTorsoSkin1);
1065  DEFINE_STATIC_STRING(TorsoSkin1ToGround);
1066  DEFINE_STATIC_STRING(TorsoSkin1ToTorso2);
1067  DEFINE_STATIC_STRING(Torso2ToVenaCava2);
1068  // Vena Cava
1069  DEFINE_STATIC_STRING(VenaCava2ToVenaCava1);
1070  DEFINE_STATIC_STRING(VenaCava1ToGround);
1071  //DEFINE_STATIC_STRING(VenaCava2ToGround);
1072  DEFINE_STATIC_STRING(IVToVenaCava1);
1073  };
1074 
1075 
1077  // Cerebrospinal Fluid Circuit Enums //
1079 
1080  class CerebrospinalFluidNode
1081  {
1082  public:
1083  DEFINE_STATIC_STRING(VascularCSFBarrier);
1084  DEFINE_STATIC_STRING(IntracranialSpace1);
1085  DEFINE_STATIC_STRING(IntracranialSpace2);
1086  };
1087 
1088  class CerebrospinalFluidPath
1089  {
1090  public:
1091 
1092  DEFINE_STATIC_STRING(IntracranialSpace2ToGround);
1093  DEFINE_STATIC_STRING(GroundToIntracranialSpace1);
1094  DEFINE_STATIC_STRING(Brain1ToVascularCSFBarrier);
1095  DEFINE_STATIC_STRING(VascularCSFBarrierToIntracranialSpace1);
1096  DEFINE_STATIC_STRING(IntracranialSpace1ToIntracranialSpace2);
1097  };
1098 
1099  class TissueNode
1100  {
1101  public:
1102  DEFINE_STATIC_STRING(BoneT1);
1103  DEFINE_STATIC_STRING(BoneT2);
1104  DEFINE_STATIC_STRING(BoneT3);
1105  DEFINE_STATIC_STRING(BrainT1);
1106  DEFINE_STATIC_STRING(BrainT2);
1107  DEFINE_STATIC_STRING(BrainT3);
1108  DEFINE_STATIC_STRING(FatT1);
1109  DEFINE_STATIC_STRING(FatT2);
1110  DEFINE_STATIC_STRING(FatT3);
1111  DEFINE_STATIC_STRING(GutT1);
1112  DEFINE_STATIC_STRING(GutT2);
1113  DEFINE_STATIC_STRING(GutT3);
1114  DEFINE_STATIC_STRING(LiverT1);
1115  DEFINE_STATIC_STRING(LiverT2);
1116  DEFINE_STATIC_STRING(LiverT3);
1117  DEFINE_STATIC_STRING(LeftKidneyT1);
1118  DEFINE_STATIC_STRING(LeftKidneyT2);
1119  DEFINE_STATIC_STRING(LeftKidneyT3);
1120  DEFINE_STATIC_STRING(LeftLungT1);
1121  DEFINE_STATIC_STRING(LeftLungT2);
1122  DEFINE_STATIC_STRING(LeftLungT3);
1123  DEFINE_STATIC_STRING(Lymph);
1124  DEFINE_STATIC_STRING(MuscleT1);
1125  DEFINE_STATIC_STRING(MuscleT2);
1126  DEFINE_STATIC_STRING(MuscleT3);
1127  DEFINE_STATIC_STRING(MyocardiumT1);
1128  DEFINE_STATIC_STRING(MyocardiumT2);
1129  DEFINE_STATIC_STRING(MyocardiumT3);
1130  DEFINE_STATIC_STRING(RightLungT1);
1131  DEFINE_STATIC_STRING(RightLungT2);
1132  DEFINE_STATIC_STRING(RightLungT3);
1133  DEFINE_STATIC_STRING(RightKidneyT1);
1134  DEFINE_STATIC_STRING(RightKidneyT2);
1135  DEFINE_STATIC_STRING(RightKidneyT3);
1136  DEFINE_STATIC_STRING(SkinT1);
1137  DEFINE_STATIC_STRING(SkinT2);
1138  DEFINE_STATIC_STRING(SkinT3);
1139  DEFINE_STATIC_STRING(SpleenT1);
1140  DEFINE_STATIC_STRING(SpleenT2);
1141  DEFINE_STATIC_STRING(SpleenT3);
1142  };
1143 
1144  class TissuePath
1145  {
1146  public:
1147  DEFINE_STATIC_STRING(Bone1ToBoneT2);
1148  DEFINE_STATIC_STRING(BoneT2ToBoneT1);
1149  DEFINE_STATIC_STRING(BoneT1ToBoneT3);
1150  DEFINE_STATIC_STRING(GroundToBoneT3);
1151  DEFINE_STATIC_STRING(BoneT1ToLymph);
1152 
1153  DEFINE_STATIC_STRING(Brain1ToBrainT2);
1154  DEFINE_STATIC_STRING(BrainT2ToBrainT1);
1155  DEFINE_STATIC_STRING(BrainT1ToBrainT3);
1156  DEFINE_STATIC_STRING(GroundToBrainT3);
1157  DEFINE_STATIC_STRING(BrainT1ToLymph);
1158 
1159  DEFINE_STATIC_STRING(Fat1ToFatT2);
1160  DEFINE_STATIC_STRING(FatT2ToFatT1);
1161  DEFINE_STATIC_STRING(FatT1ToFatT3);
1162  DEFINE_STATIC_STRING(GroundToFatT3);
1163  DEFINE_STATIC_STRING(FatT1ToLymph);
1164 
1165  DEFINE_STATIC_STRING(SmallIntestine1ToGutT2);
1166  DEFINE_STATIC_STRING(LargeIntestine1ToGutT2);
1167  DEFINE_STATIC_STRING(Splanchnic1ToGutT2);
1168  DEFINE_STATIC_STRING(GutT2ToGutT1);
1169  DEFINE_STATIC_STRING(GutT1ToGutT3);
1170  DEFINE_STATIC_STRING(GroundToGutT3);
1171  DEFINE_STATIC_STRING(GutT1ToLymph);
1172 
1173  DEFINE_STATIC_STRING(Liver1ToLiverT2);
1174  DEFINE_STATIC_STRING(LiverT2ToLiverT1);
1175  DEFINE_STATIC_STRING(LiverT1ToLiverT3);
1176  DEFINE_STATIC_STRING(GroundToLiverT3);
1177  DEFINE_STATIC_STRING(LiverT1ToLymph);
1178 
1179  DEFINE_STATIC_STRING(LeftKidney1ToLeftKidneyT2);
1180  DEFINE_STATIC_STRING(LeftKidneyT2ToLeftKidneyT1);
1181  DEFINE_STATIC_STRING(LeftKidneyT1ToLeftKidneyT3);
1182  DEFINE_STATIC_STRING(GroundToLeftKidneyT3);
1183  DEFINE_STATIC_STRING(LeftKidneyT1ToLymph);
1184 
1185  DEFINE_STATIC_STRING(LeftLung1ToLeftLungT2);
1186  DEFINE_STATIC_STRING(LeftLungT2ToLeftLungT1);
1187  DEFINE_STATIC_STRING(LeftLungT1ToLeftLungT3);
1188  DEFINE_STATIC_STRING(GroundToLeftLungT3);
1189  DEFINE_STATIC_STRING(LeftLungT1ToLymph);
1190 
1191  DEFINE_STATIC_STRING(LymphToVenaCava1);
1192 
1193  DEFINE_STATIC_STRING(Muscle1ToMuscleT2);
1194  DEFINE_STATIC_STRING(MuscleT2ToMuscleT1);
1195  DEFINE_STATIC_STRING(MuscleT1ToMuscleT3);
1196  DEFINE_STATIC_STRING(GroundToMuscleT3);
1197  DEFINE_STATIC_STRING(MuscleT1ToLymph);
1198 
1199  DEFINE_STATIC_STRING(Myocardium1ToMyocardiumT2);
1200  DEFINE_STATIC_STRING(MyocardiumT2ToMyocardiumT1);
1201  DEFINE_STATIC_STRING(MyocardiumT1ToMyocardiumT3);
1202  DEFINE_STATIC_STRING(GroundToMyocardiumT3);
1203  DEFINE_STATIC_STRING(MyocardiumT1ToLymph);
1204 
1205  DEFINE_STATIC_STRING(RightLung1ToRightLungT2);
1206  DEFINE_STATIC_STRING(RightLungT2ToRightLungT1);
1207  DEFINE_STATIC_STRING(RightLungT1ToRightLungT3);
1208  DEFINE_STATIC_STRING(GroundToRightLungT3);
1209  DEFINE_STATIC_STRING(RightLungT1ToLymph);
1210 
1211  DEFINE_STATIC_STRING(RightKidney1ToRightKidneyT2);
1212  DEFINE_STATIC_STRING(RightKidneyT2ToRightKidneyT1);
1213  DEFINE_STATIC_STRING(RightKidneyT1ToRightKidneyT3);
1214  DEFINE_STATIC_STRING(GroundToRightKidneyT3);
1215  DEFINE_STATIC_STRING(RightKidneyT1ToLymph);
1216 
1217  DEFINE_STATIC_STRING(Skin1ToSkinT2);
1218  DEFINE_STATIC_STRING(SkinT2ToSkinT1);
1219  DEFINE_STATIC_STRING(SkinT1ToSkinT3);
1220  DEFINE_STATIC_STRING(GroundToSkinT3);
1221  DEFINE_STATIC_STRING(SkinT1ToLymph);
1222  DEFINE_STATIC_STRING(SkinSweating);
1223 
1224  DEFINE_STATIC_STRING(Spleen1ToSpleenT2);
1225  DEFINE_STATIC_STRING(SpleenT2ToSpleenT1);
1226  DEFINE_STATIC_STRING(SpleenT1ToSpleenT3);
1227  DEFINE_STATIC_STRING(GroundToSpleenT3);
1228  DEFINE_STATIC_STRING(SpleenT1ToLymph);
1229  };
1230 
1231  class ExpandedCardiovascularTissuePath
1232  {
1233  public:
1234  DEFINE_STATIC_STRING(TorsoBone1ToBoneT2);
1235  DEFINE_STATIC_STRING(LeftArmBone1ToBoneT2);
1236  DEFINE_STATIC_STRING(LeftLegBone1ToBoneT2);
1237  DEFINE_STATIC_STRING(RightArmBone1ToBoneT2);
1238  DEFINE_STATIC_STRING(RightLegBone1ToBoneT2);
1239  DEFINE_STATIC_STRING(BoneT2ToBoneT1);
1240  DEFINE_STATIC_STRING(BoneT1ToBoneT3);
1241  DEFINE_STATIC_STRING(GroundToBoneT3);
1242  DEFINE_STATIC_STRING(BoneT1ToLymph);
1243 
1244  DEFINE_STATIC_STRING(Intracranial2ToBrainT2);
1245  DEFINE_STATIC_STRING(BrainT2ToBrainT1);
1246  DEFINE_STATIC_STRING(BrainT1ToBrainT3);
1247  DEFINE_STATIC_STRING(GroundToBrainT3);
1248  DEFINE_STATIC_STRING(BrainT1ToLymph);
1249 
1250  DEFINE_STATIC_STRING(TorsoFat1ToFatT2);
1251  DEFINE_STATIC_STRING(LeftArmFat1ToFatT2);
1252  DEFINE_STATIC_STRING(LeftLegFat1ToFatT2);
1253  DEFINE_STATIC_STRING(RightArmFat1ToFatT2);
1254  DEFINE_STATIC_STRING(RightLegFat1ToFatT2);
1255  DEFINE_STATIC_STRING(FatT2ToFatT1);
1256  DEFINE_STATIC_STRING(FatT1ToFatT3);
1257  DEFINE_STATIC_STRING(GroundToFatT3);
1258  DEFINE_STATIC_STRING(FatT1ToLymph);
1259 
1260  DEFINE_STATIC_STRING(SmallIntestine1ToGutT2);
1261  DEFINE_STATIC_STRING(LargeIntestine1ToGutT2);
1262  DEFINE_STATIC_STRING(Splanchnic1ToGutT2);
1263  DEFINE_STATIC_STRING(GutT2ToGutT1);
1264  DEFINE_STATIC_STRING(GutT1ToGutT3);
1265  DEFINE_STATIC_STRING(GroundToGutT3);
1266  DEFINE_STATIC_STRING(GutT1ToLymph);
1267 
1268  DEFINE_STATIC_STRING(Liver1ToLiverT2);
1269  DEFINE_STATIC_STRING(LiverT2ToLiverT1);
1270  DEFINE_STATIC_STRING(LiverT1ToLiverT3);
1271  DEFINE_STATIC_STRING(GroundToLiverT3);
1272  DEFINE_STATIC_STRING(LiverT1ToLymph);
1273 
1274  DEFINE_STATIC_STRING(LeftKidney2ToLeftKidneyT2);
1275  DEFINE_STATIC_STRING(LeftKidneyT2ToLeftKidneyT1);
1276  DEFINE_STATIC_STRING(LeftKidneyT1ToLeftKidneyT3);
1277  DEFINE_STATIC_STRING(GroundToLeftKidneyT3);
1278  DEFINE_STATIC_STRING(LeftKidneyT1ToLymph);
1279 
1280  DEFINE_STATIC_STRING(LeftLung1ToLeftLungT2);
1281  DEFINE_STATIC_STRING(LeftLungT2ToLeftLungT1);
1282  DEFINE_STATIC_STRING(LeftLungT1ToLeftLungT3);
1283  DEFINE_STATIC_STRING(GroundToLeftLungT3);
1284  DEFINE_STATIC_STRING(LeftLungT1ToLymph);
1285 
1286  DEFINE_STATIC_STRING(LymphToVenaCava);
1287 
1288  DEFINE_STATIC_STRING(TorsoMuscle1ToMuscleT2);
1289  DEFINE_STATIC_STRING(LeftArmMuscle1ToMuscleT2);
1290  DEFINE_STATIC_STRING(LeftLegMuscle1ToMuscleT2);
1291  DEFINE_STATIC_STRING(RightArmMuscle1ToMuscleT2);
1292  DEFINE_STATIC_STRING(RightLegMuscle1ToMuscleT2);
1293  DEFINE_STATIC_STRING(MuscleT2ToMuscleT1);
1294  DEFINE_STATIC_STRING(MuscleT1ToMuscleT3);
1295  DEFINE_STATIC_STRING(GroundToMuscleT3);
1296  DEFINE_STATIC_STRING(MuscleT1ToLymph);
1297 
1298  DEFINE_STATIC_STRING(Myocardium2ToMyocardiumT2);
1299  DEFINE_STATIC_STRING(MyocardiumT2ToMyocardiumT1);
1300  DEFINE_STATIC_STRING(MyocardiumT1ToMyocardiumT3);
1301  DEFINE_STATIC_STRING(GroundToMyocardiumT3);
1302  DEFINE_STATIC_STRING(MyocardiumT1ToLymph);
1303 
1304  DEFINE_STATIC_STRING(RightLung1ToRightLungT2);
1305  DEFINE_STATIC_STRING(RightLungT2ToRightLungT1);
1306  DEFINE_STATIC_STRING(RightLungT1ToRightLungT3);
1307  DEFINE_STATIC_STRING(GroundToRightLungT3);
1308  DEFINE_STATIC_STRING(RightLungT1ToLymph);
1309 
1310  DEFINE_STATIC_STRING(RightKidney2ToRightKidneyT2);
1311  DEFINE_STATIC_STRING(RightKidneyT2ToRightKidneyT1);
1312  DEFINE_STATIC_STRING(RightKidneyT1ToRightKidneyT3);
1313  DEFINE_STATIC_STRING(GroundToRightKidneyT3);
1314  DEFINE_STATIC_STRING(RightKidneyT1ToLymph);
1315 
1316  DEFINE_STATIC_STRING(TorsoSkin1ToSkinT2);
1317  DEFINE_STATIC_STRING(LeftArmSkin1ToSkinT2);
1318  DEFINE_STATIC_STRING(LeftLegSkin1ToSkinT2);
1319  DEFINE_STATIC_STRING(RightArmSkin1ToSkinT2);
1320  DEFINE_STATIC_STRING(RightLegSkin1ToSkinT2);
1321  DEFINE_STATIC_STRING(SkinT2ToSkinT1);
1322  DEFINE_STATIC_STRING(SkinT1ToSkinT3);
1323  DEFINE_STATIC_STRING(GroundToSkinT3);
1324  DEFINE_STATIC_STRING(SkinT1ToLymph);
1325  DEFINE_STATIC_STRING(SkinSweating);
1326 
1327  DEFINE_STATIC_STRING(Spleen1ToSpleenT2);
1328  DEFINE_STATIC_STRING(SpleenT2ToSpleenT1);
1329  DEFINE_STATIC_STRING(SpleenT1ToSpleenT3);
1330  DEFINE_STATIC_STRING(GroundToSpleenT3);
1331  DEFINE_STATIC_STRING(SpleenT1ToLymph);
1332  };
1333 
1334  class RenalNode
1335  {
1336  public:
1337  // Blood
1338  DEFINE_STATIC_STRING(RightAortaConnection);
1339  DEFINE_STATIC_STRING(RightRenalArtery);
1340  DEFINE_STATIC_STRING(RightAfferentArteriole);
1341  DEFINE_STATIC_STRING(RightGlomerularCapillaries);
1342  DEFINE_STATIC_STRING(RightNetGlomerularCapillaries);
1343  DEFINE_STATIC_STRING(RightEfferentArteriole);
1344  DEFINE_STATIC_STRING(RightPeritubularCapillaries);
1345  DEFINE_STATIC_STRING(RightNetPeritubularCapillaries);
1346  DEFINE_STATIC_STRING(RightRenalVein);
1347  DEFINE_STATIC_STRING(RightVenaCavaConnection);
1348  // Urine
1349  DEFINE_STATIC_STRING(RightBowmansCapsules);
1350  DEFINE_STATIC_STRING(RightNetBowmansCapsules);
1351  DEFINE_STATIC_STRING(RightTubules);
1352  DEFINE_STATIC_STRING(RightNetTubules);
1353  DEFINE_STATIC_STRING(RightUreter);
1354 
1355  // Blood
1356  DEFINE_STATIC_STRING(LeftAortaConnection);
1357  DEFINE_STATIC_STRING(LeftRenalArtery);
1358  DEFINE_STATIC_STRING(LeftAfferentArteriole);
1359  DEFINE_STATIC_STRING(LeftGlomerularCapillaries);
1360  DEFINE_STATIC_STRING(LeftNetGlomerularCapillaries);
1361  DEFINE_STATIC_STRING(LeftEfferentArteriole);
1362  DEFINE_STATIC_STRING(LeftPeritubularCapillaries);
1363  DEFINE_STATIC_STRING(LeftNetPeritubularCapillaries);
1364  DEFINE_STATIC_STRING(LeftRenalVein);
1365  DEFINE_STATIC_STRING(LeftVenaCavaConnection);
1366  // Urine
1367  DEFINE_STATIC_STRING(LeftNetBowmansCapsules);
1368  DEFINE_STATIC_STRING(LeftBowmansCapsules);
1369  DEFINE_STATIC_STRING(LeftTubules);
1370  DEFINE_STATIC_STRING(LeftNetTubules);
1371  DEFINE_STATIC_STRING(LeftUreter);
1372 
1373  DEFINE_STATIC_STRING(Bladder);
1374 
1375  DEFINE_STATIC_STRING(Ground);
1376  };
1377 
1378  class RenalPath
1379  {
1380  public:
1381  DEFINE_STATIC_STRING(RightAortaConnectionToRenalArtery);
1382  DEFINE_STATIC_STRING(RightRenalArteryToAfferentArteriole);
1383  DEFINE_STATIC_STRING(RightRenalArteryCompliance);
1384  DEFINE_STATIC_STRING(RightAfferentArterioleToGlomerularCapillaries);
1385  DEFINE_STATIC_STRING(RightGlomerularCapillariesToEfferentArteriole);
1386  DEFINE_STATIC_STRING(RightGlomerularCapillariesCompliance);
1387  DEFINE_STATIC_STRING(RightEfferentArterioleToPeritubularCapillaries);
1388  DEFINE_STATIC_STRING(RightPeritubularCapillariesToRenalVein);
1389  DEFINE_STATIC_STRING(RightRenalVeinToVenaCavaConnection);
1390  DEFINE_STATIC_STRING(RightRenalVeinCompliance);
1391 
1392  DEFINE_STATIC_STRING(RightGlomerularCapillariesToNetGlomerularCapillaries);
1393  DEFINE_STATIC_STRING(RightNetGlomerularCapillariesToNetBowmansCapsules);
1394  DEFINE_STATIC_STRING(RightBowmansCapsulesToNetBowmansCapsules);
1395  DEFINE_STATIC_STRING(RightBowmansCapsulesToTubules);
1396  DEFINE_STATIC_STRING(RightTubulesToUreter);
1397  DEFINE_STATIC_STRING(RightTubulesToNetTubules);
1398  DEFINE_STATIC_STRING(RightNetTubulesToNetPeritubularCapillaries);
1399  DEFINE_STATIC_STRING(RightPeritubularCapillariesToNetPeritubularCapillaries);
1400  DEFINE_STATIC_STRING(RightUreterToBladder);
1401 
1402  DEFINE_STATIC_STRING(LeftAortaConnectionToRenalArtery);
1403  DEFINE_STATIC_STRING(LeftRenalArteryToAfferentArteriole);
1404  DEFINE_STATIC_STRING(LeftRenalArteryCompliance);
1405  DEFINE_STATIC_STRING(LeftAfferentArterioleToGlomerularCapillaries);
1406  DEFINE_STATIC_STRING(LeftGlomerularCapillariesToEfferentArteriole);
1407  DEFINE_STATIC_STRING(LeftGlomerularCapillariesCompliance);
1408  DEFINE_STATIC_STRING(LeftEfferentArterioleToPeritubularCapillaries);
1409  DEFINE_STATIC_STRING(LeftPeritubularCapillariesToRenalVein);
1410  DEFINE_STATIC_STRING(LeftRenalVeinToVenaCavaConnection);
1411  DEFINE_STATIC_STRING(LeftRenalVeinCompliance);
1412 
1413  DEFINE_STATIC_STRING(LeftGlomerularCapillariesToNetGlomerularCapillaries);
1414  DEFINE_STATIC_STRING(LeftNetGlomerularCapillariesToNetBowmansCapsules);
1415  DEFINE_STATIC_STRING(LeftBowmansCapsulesToNetBowmansCapsules);
1416  DEFINE_STATIC_STRING(LeftBowmansCapsulesToTubules);
1417  DEFINE_STATIC_STRING(LeftTubulesToUreter);
1418  DEFINE_STATIC_STRING(LeftTubulesToNetTubules);
1419  DEFINE_STATIC_STRING(LeftNetTubulesToNetPeritubularCapillaries);
1420  DEFINE_STATIC_STRING(LeftPeritubularCapillariesToNetPeritubularCapillaries);
1421  DEFINE_STATIC_STRING(LeftUreterToBladder);
1422 
1423  DEFINE_STATIC_STRING(BladderToGroundPressure);
1424  DEFINE_STATIC_STRING(BladderToGroundUrinate);
1425  };
1426 
1427  class DigestionNode
1428  {
1429  public:
1430  DEFINE_STATIC_STRING(GutChyme);
1431  };
1432 
1433  class DigestionPath
1434  {
1435  public:
1436  DEFINE_STATIC_STRING(GutChymeToSmallIntestineVascular);
1437  };
1438 
1439  class ECMONode
1440  {
1441  public:
1442  DEFINE_STATIC_STRING(BloodSamplingPort);
1443  DEFINE_STATIC_STRING(Oxygenator);
1444  };
1445 
1446  class ECMOPath
1447  {
1448  public:
1449  DEFINE_STATIC_STRING(VascularToBloodSamplingPort);
1450  DEFINE_STATIC_STRING(BloodSamplingPortToGround);
1451  DEFINE_STATIC_STRING(GroundToOxygenator);
1452  DEFINE_STATIC_STRING(OxygenatorToVasculature);
1453  };
1454 END_NAMESPACE
Definition: SECircuitManager.h:38
Definition: SEFluidCircuit.h:12
Definition: SEThermalCircuit.h:12
Manages all circuits associated with all Pulse systems/equipement.
Definition: CircuitManager.h:18
SEFluidCircuit * m_CombinedRespiratorySimpleMaskCircuit
Definition: CircuitManager.h:83
SEFluidCircuit * m_MechanicalVentilatorCircuit
Definition: CircuitManager.h:74
SEFluidCircuit * m_RenalCircuit
Definition: CircuitManager.h:68
SEFluidCircuit * m_CardiovascularCircuit
Definition: CircuitManager.h:67
SEFluidCircuit * m_RespiratoryCircuit
Definition: CircuitManager.h:70
SEFluidCircuit * m_CombinedRespiratoryMechanicalVentilationCircuit
Definition: CircuitManager.h:85
SEThermalCircuit * m_ExternalTemperatureCircuit
Definition: CircuitManager.h:90
SEFluidCircuit * m_CombinedRespiratoryBagValveMaskCircuit
Definition: CircuitManager.h:80
SEFluidCircuit * m_CombinedRespiratoryNonRebreatherMaskCircuit
Definition: CircuitManager.h:84
Data & m_data
Definition: CircuitManager.h:55
SEFluidCircuit * m_CombinedRespiratoryInhalerCircuit
Definition: CircuitManager.h:81
SEFluidCircuit * m_CombinedRespiratoryAnesthesiaCircuit
Definition: CircuitManager.h:79
SEThermalCircuit * m_TemperatureCircuit
Definition: CircuitManager.h:88
SEFluidCircuit * m_AnesthesiaMachineCircuit
Definition: CircuitManager.h:72
SEFluidCircuit * m_CombinedRespiratoryMechanicalVentilatorCircuit
Definition: CircuitManager.h:86
SEFluidCircuit * m_CombinedRespiratoryNasalCannulaCircuit
Definition: CircuitManager.h:82
SEFluidCircuit * m_CombinedCardiovascularCircuit
Definition: CircuitManager.h:65
SEThermalCircuit * m_InternalTemperatureCircuit
Definition: CircuitManager.h:89
SEFluidCircuit * m_BagValveMaskCircuit
Definition: CircuitManager.h:73
Definition: Logger.h:14

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.