Introduction
This section is provided for developer who are interested in extending the functionality of the GeoEfficiency package or just make use of some of its functionality. this software is licensed under
the MIT license.
Configuration
The package contain many parameters that can be set within the program sourcecode. they can be found in the source file Config.jl
| parameter | description | default value |
|---|---|---|
| dataFolder | name of the root directory | "GeoEfficiency" |
| dataDir | root directory | joinpath(homedir(), dataFolder) |
| integrate | use the package QuadGK to perform integration |
begin using QuadGK; QuadGK.quadgk; end |
| relativeError | 1.0E-4 | |
| absoluteError | eps(1.0) | |
| resultsFolder | name of the result directory inside the root directory | "results" |
| max_display | define the default for maximum number of entries shown in the console in batch mode |
20 see max_batch |
Error System
```@docs GeoEfficiency.GeoException
```@docs
GeoEfficiency.InValidDetectorDim
```@docs GeoEfficiency.@validateDetector
```@docs
GeoEfficiency.InValidGeometry
```@docs GeoEfficiency.@inValidGeometry
```@docs
GeoEfficiency.NotImplementedError
```@docs GeoEfficiency.@notImplementedError
# Console Input
Julia language is quite reach language but it seems a good idea thought to collect repeated tasks involving input from console in compact and customized to the need function.
this section provide two essential functions to deal with inputs from the console. the first:
```@docs
GeoEfficiency.input
while the second is a more complex function:
```@docs GeoEfficiency.getfloat
Those function are not exported that is normally the user will not need to use them but they are documented here to allow a developer ranked user to make use of them.
# Physics Model
Two abstract detector types defined in the package to classify the detectors, the top most super type,
```@docs
GeoEfficiency.RadiationDetector
any future detector definition should inherit from RadiationDetector. The second abstract detector Detector is also a sub-type of RadiationDetector but it only accommodates cylindrical type only.
```@docs GeoEfficiency.Detector
can be used to construct leaf detector.
```@docs
Detector()
also it can be used to construct a concrete detector depend on the provided arguments.
```@docs Detector(CryRadius::Real, CryLength::Real, HoleRadius::Real, HoleDepth::Real)
```@docs
Detector(CryRadius::Real)
```@docs Detector(CryRadius::Real, CryLength::Real)
```@docs
Detector(CryRadius::Real, CryLength::Real, HoleRadius::Real)
Batch Mode Input
```@docs GeoEfficiency.detector_info_from_csvFile
```@docs
GeoEfficiency.read_from_csvFile
```@docs GeoEfficiency.read_batch_info
```@docs
GeoEfficiency.getDetectors
Output Interface
```@docs GeoEfficiency.checkResultsDirs
```@docs
GeoEfficiency.writecsv_head
```@docs GeoEfficiency._max_batch
```@docs
GeoEfficiency.max_display
@docs
GeoEfficiency._batch