31#ifndef MICROSTRUCTURESINGLEFIBER_H_
32#define MICROSTRUCTURESINGLEFIBER_H_
34#include "Microstructure.h"
53 void SetCylinderDensity(
double density){
if((density>0) && (density<1))
m_cyl_dens = density;
else cout <<
"density must be between 0 and 1!"<<endl;};
74 void SetD(
double D,
int index) {
m_D[index]=D;};
83 virtual double GetD(
int LastId,
int shellid);
97 virtual bool CylinderCollide(
const neuron &test);
98 double GetCylinderVolume(
const neuron &test);
121 void GetRadius(
neuron &tmp,
const double complete_vol,
const double used_vol);
Microstructure consisting of parallel cylinders.
Definition MicrostructureSingleFiber.h:40
void SetCylinderDensity(double density)
Set Cylinder Density;.
Definition MicrostructureSingleFiber.h:53
vector< int > m_percentiles
compartment indices (first place axons from large compartment)
Definition MicrostructureSingleFiber.h:137
void GetRadius(neuron &tmp, const double complete_vol, const double used_vol)
Get a trial axon radius.
Definition MicrostructureSingleFiber.cpp:311
double GetPointDistance(const triple pos, const neuron &tmp)
Get distance between point pos and cylinder tmp.
Definition MicrostructureSingleFiber.cpp:167
vector< double > m_radius_hist
values for radius distribution
Definition MicrostructureSingleFiber.h:139
double m_cyl_dens
density of cylinders
Definition MicrostructureSingleFiber.h:125
vector< neuron > m_axons
container holding the neurons.
Definition MicrostructureSingleFiber.h:130
double m_myelin_axon_ratio
ratio axon to (axon+myelin). Between 0 and 1. Used for variable radii only; else myelin radius is set...
Definition MicrostructureSingleFiber.h:140
double m_cyl_radius_outer
outer radius of cylinders
Definition MicrostructureSingleFiber.h:127
double GetCylinderDistance(const neuron &n1, const neuron &n2)
Get distance between two cylinders.
Definition MicrostructureSingleFiber.cpp:203
void GenerateStructure()
builds Structure
Definition MicrostructureSingleFiber.cpp:74
virtual void IndexObject(triple pos, int &LastId, int &shellid)
Definition MicrostructureSingleFiber.cpp:147
virtual double GetD(int LastId, int shellid)
Definition MicrostructureSingleFiber.cpp:181
void SetSeed(int val)
Set seed for random number generator.
Definition MicrostructureSingleFiber.h:69
double m_fiber_orientation[3]
orientation of cylinders
Definition MicrostructureSingleFiber.h:124
bool m_use_var_rad
true for variable radius distribution
Definition MicrostructureSingleFiber.h:136
void SetCylinderRadius(double inner, double outer=0)
Set Cylinder Radius;.
Definition MicrostructureSingleFiber.h:58
void SetRadiusDistribution(string filename)
Set axon radius distribution, string: -> filename, three doubles: distribution from AxCaliber (Assaf ...
Definition MicrostructureSingleFiber.cpp:232
double m_D[2]
diffusion constants per layer
Definition MicrostructureSingleFiber.h:128
vector< double > m_radius_axis
axis for radius distribution
Definition MicrostructureSingleFiber.h:138
virtual void SetCylOrientation(neuron &tmp)
sets orientation of cyl in GenerateStructure.
Definition MicrostructureSingleFiber.h:111
int m_seed
random number seed
Definition MicrostructureSingleFiber.h:132
void SetAxonToNeuronRadiusRatio(double ratio)
sets ratio axon/(axion + myelin sheet). Needed if radius distribution of neurons is used
Definition MicrostructureSingleFiber.h:88
void CalcPercentiles()
if radius distribution is used: calculate compartments (begin with largest radii, then fill up with s...
Definition MicrostructureSingleFiber.cpp:265
double m_cyl_radius_inner
inner radius of cylinders
Definition MicrostructureSingleFiber.h:126
void SetFiberOrientation(double dx, double dy, double dz)
set cylinder orientation
Definition MicrostructureSingleFiber.cpp:61
double m_extracellular_spacing
minimal space between neurons
Definition MicrostructureSingleFiber.h:141
void SetD(double D, int index)
Set Diffusion constants.
Definition MicrostructureSingleFiber.h:74
Microsructure base class.
Definition Microstructure.h:55
Definition of a neuron/axon for the Microstructure.
Definition Microstructure.h:39
double dy
y-component of fiber orientation
Definition Microstructure.h:41
double dx
x-component of fiber orientation
Definition Microstructure.h:40
double dz
z-component of fiber orientation
Definition Microstructure.h:42
Cartesians positions for diffusion trajectory of a spin.
Definition TrajectoryDiffusion.h:46