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 
13 class MitoSection: public SectionBase<MitoSection>
14 {
17 
18  public:
23  mito_depth_iterator depth_end() const;
24 
29  mito_breadth_iterator breadth_end() const;
30 
35  mito_upstream_iterator upstream_end() const;
36 
40  range<const uint32_t> neuriteSectionIds() const;
41 
45  range<const floatType> diameters() const;
46 
55  range<const floatType> relativePathLengths() const;
56 
57  protected:
58  MitoSection(uint32_t id_, const std::shared_ptr<Property::Properties>& morphology)
59  : SectionBase(id_, morphology) {}
60  friend MitoSection Mitochondria::section(uint32_t) const;
61  friend class SectionBase<MitoSection>;
62  friend class mut::MitoSection;
63 };
64 } // namespace morphio
Definition: mito_section.h:14
range< const uint32_t > neuriteSectionIds() const
mito_depth_iterator depth_begin() const
mito_upstream_iterator upstream_begin() const
mito_breadth_iterator breadth_begin() const
range< const floatType > relativePathLengths() const
range< const floatType > diameters() const
Definition: section_base.h:25
Definition: section_iterators.hpp:54
Definition: section_iterators.hpp:82
Definition: mito_section.h:11
Definition: section_iterators.hpp:110
Definition: endoplasmic_reticulum.h:5
Definition: properties.h:58
Definition: properties.h:33