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
16{
17public:
22
27
32
37
45 void addContainer(std::unique_ptr<Container> container);
46
51 Container* getContainer(const SizeType& containerInd);
52
66 Status writeTimeseriesData(const SizeType& containerInd,
67 const Channel& channel,
68 const std::vector<SizeType>& dataShape,
69 const std::vector<SizeType>& positionOffset,
70 const void* data,
71 const void* timestamps);
72
86 Status writeElectricalSeriesData(const SizeType& containerInd,
87 const Channel& channel,
88 const SizeType& numSamples,
89 const void* data,
90 const void* timestamps);
91
102 Status writeSpikeEventData(const SizeType& containerInd,
103 const SizeType& numSamples,
104 const SizeType& numChannels,
105 const void* data,
106 const void* timestamps);
107
111 inline SizeType size() const { return m_containers.size(); }
112
113private:
117 std::vector<std::unique_ptr<Container>> m_containers;
118
122 std::string m_name;
123};
124
125} // namespace AQNWB::NWB
AQNWB::Types::SizeType SizeType
Definition BaseIO.hpp:16
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:15
The RecordingContainers class provides an interface for managing and holding groups of Containers acq...
Definition RecordingContainers.hpp:16
Status writeElectricalSeriesData(const SizeType &containerInd, const Channel &channel, const SizeType &numSamples, const void *data, const void *timestamps)
Write ElectricalSeries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:52
Status writeSpikeEventData(const SizeType &containerInd, const SizeType &numSamples, const SizeType &numChannels, const void *data, const void *timestamps)
Write SpikeEventSeries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:68
Container * getContainer(const SizeType &containerInd)
Gets the Container object from the recordingContainers.
Definition RecordingContainers.cpp:20
RecordingContainers()
Constructor for RecordingContainer class.
Definition RecordingContainers.cpp:11
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:15
SizeType size() const
Get the number of recording containers.
Definition RecordingContainers.hpp:111
RecordingContainers & operator=(const RecordingContainers &)=delete
Deleted copy assignment operator to prevent copying.
~RecordingContainers()
Destructor for RecordingContainer class.
Definition RecordingContainers.cpp:13
Status writeTimeseriesData(const SizeType &containerInd, const Channel &channel, const std::vector< SizeType > &dataShape, const std::vector< SizeType > &positionOffset, const void *data, const void *timestamps)
Write timeseries data to a recordingContainer dataset.
Definition RecordingContainers.cpp:29
Status
Represents the status of an operation.
Definition Types.hpp:22
Namespace for all classes related to the NWB data standard.
Definition TimeSeries.hpp:9