CoreNEURON
coreneuron::LFPCalculator< Ty, SegmentIdTy > Struct Template Reference

LFPCalculator allows calculation of LFP given membrane currents. More...

Detailed Description

template<LFPCalculatorType Ty, typename SegmentIdTy = int>
struct coreneuron::LFPCalculator< Ty, SegmentIdTy >

LFPCalculator allows calculation of LFP given membrane currents.

Definition at line 72 of file lfp.hpp.

#include <lfp.hpp>

Public Member Functions

 LFPCalculator (const lfputils::Point3Ds &seg_start, const lfputils::Point3Ds &seg_end, const std::vector< double > &radius, const std::vector< SegmentIdTy > &segment_ids, const lfputils::Point3Ds &electrodes, double extra_cellular_conductivity)
 LFP Calculator constructor. More...
 
template<typename Vector >
void lfp (const Vector &membrane_current)
 
const std::vector< double > & lfp_values () const noexcept
 

Private Member Functions

double getFactor (const lfputils::Point3D &e_pos, const lfputils::Point3D &seg_0, const lfputils::Point3D &seg_1, const double radius, const double f) const
 
double getFactor (const lfputils::Point3D &e_pos, const lfputils::Point3D &seg_0, const lfputils::Point3D &seg_1, const double radius, const double f) const
 
double getFactor (const lfputils::Point3D &e_pos, const lfputils::Point3D &seg_0, const lfputils::Point3D &seg_1, const double radius, const double f) const
 

Private Attributes

std::vector< double > lfp_values_
 
std::vector< std::vector< double > > m
 
const std::vector< SegmentIdTy > & segment_ids_
 

Constructor & Destructor Documentation

◆ LFPCalculator()

template<LFPCalculatorType Type, typename SegmentIdTy >
template coreneuron::LFPCalculator< Ty, SegmentIdTy >::LFPCalculator ( const lfputils::Point3Ds seg_start,
const lfputils::Point3Ds seg_end,
const std::vector< double > &  radius,
const std::vector< SegmentIdTy > &  segment_ids,
const lfputils::Point3Ds electrodes,
double  extra_cellular_conductivity 
)

LFP Calculator constructor.

Parameters
seg_startall segments start owned by the proc
seg_endall segments end owned by the proc
radiusfence around the segment. Ensures electrode cannot be arbitrarily close to the segment
electrodespositions of the electrodes
extra_cellular_conductivityconductivity of the extra-cellular medium

Definition at line 75 of file lfp.cpp.

Member Function Documentation

◆ getFactor() [1/3]

template<LFPCalculatorType Ty, typename SegmentIdTy = int>
double coreneuron::LFPCalculator< Ty, SegmentIdTy >::getFactor ( const lfputils::Point3D e_pos,
const lfputils::Point3D seg_0,
const lfputils::Point3D seg_1,
const double  radius,
const double  f 
) const
inlineprivate

◆ getFactor() [2/3]

double coreneuron::LFPCalculator< LineSource >::getFactor ( const lfputils::Point3D e_pos,
const lfputils::Point3D seg_0,
const lfputils::Point3D seg_1,
const double  radius,
const double  f 
) const
private

Definition at line 109 of file lfp.hpp.

◆ getFactor() [3/3]

double coreneuron::LFPCalculator< PointSource >::getFactor ( const lfputils::Point3D e_pos,
const lfputils::Point3D seg_0,
const lfputils::Point3D seg_1,
const double  radius,
const double  f 
) const
private

Definition at line 118 of file lfp.hpp.

◆ lfp()

template<LFPCalculatorType Type, typename SegmentIdTy >
template<typename Vector >
template void coreneuron::LFPCalculator< Ty, SegmentIdTy >::lfp ( const Vector &  membrane_current)
inline

Definition at line 102 of file lfp.cpp.

◆ lfp_values()

template<LFPCalculatorType Ty, typename SegmentIdTy = int>
const std::vector<double>& coreneuron::LFPCalculator< Ty, SegmentIdTy >::lfp_values ( ) const
inlinenoexcept

Definition at line 93 of file lfp.hpp.

Member Data Documentation

◆ lfp_values_

template<LFPCalculatorType Ty, typename SegmentIdTy = int>
std::vector<double> coreneuron::LFPCalculator< Ty, SegmentIdTy >::lfp_values_
private

Definition at line 103 of file lfp.hpp.

◆ m

template<LFPCalculatorType Ty, typename SegmentIdTy = int>
std::vector<std::vector<double> > coreneuron::LFPCalculator< Ty, SegmentIdTy >::m
private

Definition at line 104 of file lfp.hpp.

◆ segment_ids_

template<LFPCalculatorType Ty, typename SegmentIdTy = int>
const std::vector<SegmentIdTy>& coreneuron::LFPCalculator< Ty, SegmentIdTy >::segment_ids_
private

Definition at line 105 of file lfp.hpp.


The documentation for this struct was generated from the following files: