What’s New in the Pulse Physiology Engine 4.4.0
×
SEElectroCardioGramWaveform.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5
6// Keep enums in sync with appropriate schema/cdm/ElectroCardioGram.proto file !!
7enum class eElectroCardioGram_WaveformType { Sinus = 0,
8 VentricularFibrillation,
9 VentricularTachycardia,
10 Defibrillation };
11extern CDM_DECL const std::string& eElectroCardioGram_WaveformType_Name(eElectroCardioGram_WaveformType m);
12
13// Keep enums in sync with appropriate schema/cdm/CompartmentEnums.proto file !!
14enum class eElectroCardioGram_WaveformLead { NullLead = 0,
15 Lead1,
16 Lead2,
17 Lead3,
18 Lead4,
19 Lead5,
20 Lead6,
21 Lead7,
22 Lead8,
23 Lead9,
24 Lead10,
25 Lead11,
26 Lead12 };
27extern CDM_DECL const std::string& eElectroCardioGram_WaveformLead_Name(eElectroCardioGram_WaveformLead m);
28
29
31{
32 friend class PBElectroCardioGram;//friend the serialization class
33public:
34
37
38 virtual void Clear();// Deletes all members
39
40 virtual bool HasLeadNumber() const;
41 virtual eElectroCardioGram_WaveformLead GetLeadNumber() const;
42 virtual void SetLeadNumber(eElectroCardioGram_WaveformLead n);
43 virtual void InvalidateLeadNumber();
44
45 virtual eElectroCardioGram_WaveformType GetType() const;
46 virtual void SetType(eElectroCardioGram_WaveformType t);
47
48 virtual bool HasOriginalData() const;
49 virtual SEArrayElectricPotential& GetOriginalData();
50 virtual const SEArrayElectricPotential* GetOriginalData() const;
51
52 virtual bool HasActiveCycle() const;
53 virtual SEArrayElectricPotential& GetActiveCycle();
54 virtual const SEArrayElectricPotential* GetActiveCycle() const;
55 virtual void GenerateActiveCycle(const SEScalarFrequency& hr, const SEScalarTime& step, double amplitudeModifier);
56
57 virtual size_t GetActiveIndex() { return m_ActiveIndex; }
58 virtual void SetActiveIndex(size_t idx) { m_ActiveIndex = idx; }
59 virtual bool IsComplete() const { return m_Complete; }
60
61 virtual void GetCycleValue(SEScalarElectricPotential& v, bool advance);
62
63protected:
64
65 eElectroCardioGram_WaveformLead m_LeadNumber;
66 eElectroCardioGram_WaveformType m_Type;
72};
Definition: Logger.h:23
Definition: Logger.h:71
Definition: PBElectroCardioGram.h:10
Definition: SEArrayElectricPotential.h:8
Definition: SEElectroCardioGramWaveform.h:31
virtual bool IsComplete() const
Definition: SEElectroCardioGramWaveform.h:59
SEArrayElectricPotential * m_OriginalData
Definition: SEElectroCardioGramWaveform.h:67
bool m_Recycling
Definition: SEElectroCardioGramWaveform.h:70
SEArrayElectricPotential * m_ActiveCycle
Definition: SEElectroCardioGramWaveform.h:68
bool m_Complete
Definition: SEElectroCardioGramWaveform.h:71
size_t m_ActiveIndex
Definition: SEElectroCardioGramWaveform.h:69
virtual size_t GetActiveIndex()
Definition: SEElectroCardioGramWaveform.h:57
eElectroCardioGram_WaveformLead m_LeadNumber
Definition: SEElectroCardioGramWaveform.h:65
eElectroCardioGram_WaveformType m_Type
Definition: SEElectroCardioGramWaveform.h:66
virtual void SetActiveIndex(size_t idx)
Definition: SEElectroCardioGramWaveform.h:58
Definition: SEScalarElectricPotential.h:25
Definition: SEScalarFrequency.h:26
Definition: SEScalarTime.h:28

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.