SEThermalCircuit.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "circuit/SECircuit.h"
6 #include "circuit/thermal/SEThermalCircuitNode.h"
7 #include "circuit/thermal/SEThermalCircuitPath.h"
8 
9 class SECircuitManager;
10 
11 class CDM_DECL SEThermalCircuit : public SECircuit<SEThermalCircuitNode,SEThermalCircuitPath>
12 {
13  friend class PBCircuit;//friend the serialization class
14  friend class SECircuitManager;
15 protected:
16  SEThermalCircuit(const std::string& name, SECircuitManager& mgr);
17 public:
18  virtual ~SEThermalCircuit();
19 
20  SEThermalCircuitNode& CreateNode(const std::string& name);
21  SEThermalCircuitPath& CreatePath(SEThermalCircuitNode& src, SEThermalCircuitNode& tgt, const std::string& name);
22 
23  void AddCircuit(SEThermalCircuit& circuit);
24 
25 protected:
27 };
PathType & CreatePath(NodeType &src, NodeType &tgt, const std::string &name, SECircuitLedger< CIRCUIT_LEDGER_TYPES > &ledger)
SECircuitManager & m_Mgr
Definition: SEThermalCircuit.h:26
Definition: SEThermalCircuitPath.h:8
Definition: SEThermalCircuit.h:11
Definition: PBCircuit.h:25
Definition: SECircuitManager.h:37
NodeType & CreateNode(const std::string &name, SECircuitLedger< CIRCUIT_LEDGER_TYPES > &ledger)
Definition: SEThermalCircuitNode.h:7
Definition: SECircuit.h:12