43 #include "DetectorConstruction.hh"
58 fpDefaultMaterial(0), fpWaterMaterial(0),
59 fpRegion(0), fCheckOverlaps(false)
102 G4cout <<
" ---- Begin of Neuron Construction! ---- "
103 <<
"\n"<<
" =========================================================="<<
G4endl;
121 G4cout <<
" Side length of word volume is calculated : "
124 worldSizeX/2, worldSizeY/2, worldSizeZ/2);
155 G4cout <<
" Radius of homogeneous medium is calculated : "
156 << RadiusMedium/
um <<
" um"<<
G4endl;
192 G4cout <<
" Overall dimensions (um) of neuron morphology : " <<
"\n"
193 <<
'\t'<<
" width = " <<TargetSizeX/
um<<
" height = " <<
195 <<
" depth = " <<TargetSizeZ/
um<<
G4endl;
197 G4cout <<
" Volume (um3), surface (um2) and mass (ug) of Bounding Slice are"
198 <<
" calculated : " <<
"\n"
204 TargetSizeX/2.,TargetSizeY/2.,TargetSizeZ/2.);
229 G4cout <<
" Volume (um3), surface (um2) and mass(ug) of Neuron "
230 <<
"are calculated : "<<
"\n"
235 G4cout <<
" Total number of compartments into Neuron : "
237 G4cout <<
" Shift values (um) for Neuron translation are calculated : "
299 G4cout <<
" Total number of compartments into Soma : "
345 G4cout <<
" ---- Dendrites for construction: ---- "<<
G4endl;
346 G4cout <<
" Total number of compartments into Dendrites : "
399 G4cout <<
" Total number of compartments into Axon : "
436 G4cout <<
" ---- Spines for construction: ---- "<<
G4endl;
437 G4cout <<
" Total number of compartments into Spines : "
441 G4cout <<
"\n ---- End of Neuron Construction! ---- "
442 <<
"\n ========================================================== \n"
void AddRootLogicalVolume(G4LogicalVolume *lv)
void SetProductionCut(G4double cut, G4int index=-1)
G4double GetTotVolNeuron()
CLHEP::Hep3Vector G4ThreeVector
G4double GetDistADendSoma(G4int i)
G4VPhysicalVolume * faxonPV[kMT]
G4double GetTotSurfNeuron()
G4double * fDistADendSoma
G4VPhysicalVolume * fdendritePV[kMT]
G4VisAttributes * fSomaColour
G4VPhysicalVolume * Construct()
G4RotationMatrix GetRotAxoncomp(G4int i)
G4double GetHeightAxoncomp(G4int i)
G4double GetMassSomacomp(G4int i)
void SetProductionCuts(G4ProductionCuts *cut)
G4double GetMassDendcomp(G4int i)
NeuronLoadDataFile * fNeuronLoadParamz
static constexpr double um
G4double GetMassSomaTot()
G4Material * fpDefaultMaterial
G4VisAttributes * fDendColour
G4Material * fpWaterMaterial
G4int GetnbDendritecomp()
static constexpr double g
G4VSolid * fdendriteS[kMT]
G4double GetMassAxonTot()
void SetForceLineSegmentsPerCircle(G4int nSegments)
G4double GetTotVolSlice()
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
G4LogicalVolume * faxonLV[kMT]
G4LogicalVolume * fdendriteLV[kMT]
G4double GetdiagnlLength()
G4LogicalVolume * fsomaLV[kMT]
G4double * fDistBDendSoma
G4VPhysicalVolume * fsomaPV[kMT]
G4double GetTotMassMedium()
G4VisAttributes * fSpineColour
void SetVisAttributes(const G4VisAttributes *pVA)
G4ThreeVector * fPosSomacomp
G4double GetDistBDendSoma(G4int i)
G4ThreeVector GetPosDendcomp(G4int i)
void SetForceSolid(G4bool=true)
G4double GetRadDendcomp(G4int i)
G4double GetTotSurfMedium()
void SetVisibility(G4bool=true)
G4double GetRadSomacomp(G4int i)
G4VisAttributes * fNeuronColour
G4ThreeVector * fPosAxoncomp
G4double GetTotSurfSlice()
G4double GetDistAxonsoma(G4int i)
G4ThreeVector * fPosDendcomp
G4double GetRadAxoncomp(G4int i)
static constexpr double cm
G4GLOB_DLL std::ostream G4cout
G4VPhysicalVolume * ConstructDetector()
G4ThreeVector GetPosAxoncomp(G4int i)
void SetColour(const G4Colour &)
G4double GetTotMassSlice()
G4double GetMassDendTot()
static constexpr double pi
G4VisAttributes * fAxonColour
G4double GetMassAxoncomp(G4int i)
G4ThreeVector GetPosSomacomp(G4int i)
G4double GetTotMassNeuron()
static constexpr double nanometer
static G4NistManager * Instance()
G4double GetHeightDendcomp(G4int i)