mito_section.h
1 #pragma once
2 
3 #include <morphio/mitochondria.h>
4 #include <morphio/properties.h>
5 #include <morphio/section_base.h>
6 #include <morphio/types.h>
7 
8 namespace morphio {
9 using mito_upstream_iterator = upstream_iterator_t<MitoSection>;
10 using mito_breadth_iterator = morphio::breadth_iterator_t<MitoSection, Mitochondria>;
12 
14 class MitoSection: public SectionBase<MitoSection>
15 {
18 
19  public:
24  mito_depth_iterator depth_end() const;
25 
30  mito_breadth_iterator breadth_end() const;
31 
36  mito_upstream_iterator upstream_end() const;
37 
41  range<const uint32_t> neuriteSectionIds() const;
42 
46  range<const floatType> diameters() const;
47 
56  range<const floatType> relativePathLengths() const;
57 
58  protected:
59  MitoSection(uint32_t id_, const std::shared_ptr<Property::Properties>& morphology)
60  : SectionBase(id_, morphology) {}
61  friend MitoSection Mitochondria::section(uint32_t) const;
62  friend class SectionBase<MitoSection>;
63  friend class mut::MitoSection;
64 };
65 } // namespace morphio
Definition: section_iterators.hpp:109
Definition: section_iterators.hpp:53
Definition: mito_section.h:14
Definition: properties.h:46
Definition: mito_section.h:11
Definition: dendritic_spine.h:9
Definition: section_iterators.hpp:81
range< const floatType > relativePathLengths() const
mito_depth_iterator depth_begin() const
mito_upstream_iterator upstream_begin() const
Definition: properties.h:21
range< const floatType > diameters() const
mito_breadth_iterator breadth_begin() const
range< const uint32_t > neuriteSectionIds() const
Definition: section_base.h:24