aqnwb 0.1.0
Loading...
Searching...
No Matches
RecordingContainers.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "Channel.hpp"
4#include "Types.hpp"
6
7namespace AQNWB::NWB
8{
9
14
16{
17public:
22
27
32
37
45 void addContainer(std::unique_ptr<Container> container);
46
51 Container* getContainer(const SizeType& containerInd);
52
67 Status writeTimeseriesData(const SizeType& containerInd,
68 const Channel& channel,
69 const std::vector<SizeType>& dataShape,
70 const std::vector<SizeType>& positionOffset,
71 const void* data,
72 const void* timestamps,
73 const void* controlInput = nullptr);
74
89 Status writeElectricalSeriesData(const SizeType& containerInd,
90 const Channel& channel,
91 const SizeType& numSamples,
92 const void* data,
93 const void* timestamps,
94 const void* controlInput = nullptr);
95
107 Status writeSpikeEventData(const SizeType& containerInd,
108 const SizeType& numSamples,
109 const SizeType& numChannels,
110 const void* data,
111 const void* timestamps,
112 const void* controlInput = nullptr);
113
124 Status writeAnnotationSeriesData(const SizeType& containerInd,
125 const SizeType& numSamples,
126 const std::vector<std::string> data,
127 const void* timestamps,
128 const void* controlInput = nullptr);
129
133 inline SizeType size() const { return m_containers.size(); }
134
135private:
139 std::vector<std::unique_ptr<Container>> m_containers;
140
144 std::string m_name;
145};
146
147} // namespace AQNWB::NWB
AQNWB::Types::Status Status
Definition BaseIO.hpp:20
AQNWB::Types::SizeType SizeType
Definition Channel.hpp:8
Class for storing acquisition system channel information.
Definition Channel.hpp:16
Abstract data type for a group storing collections of data and metadata.
Definition Container.hpp:16
std::string m_name
The name of the collection of recording containers.
Definition RecordingContainers.hpp:144
Container * getContainer(const SizeType &containerInd)
Gets the Container object from the recordingContainers.
Definition RecordingContainers.cpp:21
Status writeElectricalSeriesData(const SizeType &containerInd, const Channel &channel, const SizeType &numSamples, const void *data, const void *timestamps, const void *controlInput=nullptr)
Write ElectricalSeries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:56
RecordingContainers()
Constructor for RecordingContainer class.
Definition RecordingContainers.cpp:12
RecordingContainers(const RecordingContainers &)=delete
Deleted copy constructor to prevent construction-copying.
void addContainer(std::unique_ptr< Container > container)
Adds a Container object to the container. Note that this function transfers ownership of the Containe...
Definition RecordingContainers.cpp:16
Status writeSpikeEventData(const SizeType &containerInd, const SizeType &numSamples, const SizeType &numChannels, const void *data, const void *timestamps, const void *controlInput=nullptr)
Write SpikeEventSeries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:74
SizeType size() const
Get the number of recording containers.
Definition RecordingContainers.hpp:133
Status writeTimeseriesData(const SizeType &containerInd, const Channel &channel, const std::vector< SizeType > &dataShape, const std::vector< SizeType > &positionOffset, const void *data, const void *timestamps, const void *controlInput=nullptr)
Write timeseries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:30
Status writeAnnotationSeriesData(const SizeType &containerInd, const SizeType &numSamples, const std::vector< std::string > data, const void *timestamps, const void *controlInput=nullptr)
Write AnnotationSeries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:91
RecordingContainers & operator=(const RecordingContainers &)=delete
Deleted copy assignment operator to prevent copying.
~RecordingContainers()
Destructor for RecordingContainer class.
Definition RecordingContainers.cpp:14
std::vector< std::unique_ptr< Container > > m_containers
The Containers used for recording.
Definition RecordingContainers.hpp:139
Namespace for all classes related to the NWB data standard.
Definition TimeSeries.hpp:12