R-Lum / RLumModel
1
#' Create a DRT sequence for 'RLumModel'
2
#'
3
#' This function creates a DRT (Dose-recovery-test) sequence with special keywords
4
#' for luminescence dating.
5
#'
6
#' Defining a \bold{DRT-sequence}\cr
7
#'
8
#' \tabular{lll}{
9
#' \bold{Abrivation} \tab \bold{Description} \tab \bold{examples} \cr
10
#' RegDose \tab Dose points of the regenerative cycles\tab c(0, 80, 140, 260, 320, 0, 80)\cr
11
#' TestDose\tab Test dose for the SAR cycles  \tab 50 \cr
12
#' PH\tab Temperature of the preheat \tab 240 \cr
13
#' CH\tab Temperature of the cutheat \tab 200 \cr
14
#' OSL_temp\tab Temperature of OSL read out\tab  125 \cr
15
#' Irr_2recover \tab Dose to be recovered in a dose-recovery-test \tab 20 \cr
16
#' OSL_duration \tab  Duration of OSL read out\tab default: 40 \cr
17
#' Irr_temp \tab Temperature of irradiation \tab default: 20\cr
18
#' PH_duration  \tab Duration of the preheat \tab default: 10 \cr
19
#' dose_rate \tab Dose rate of the laboratory irradiation source \tab default: 1 \cr
20
#' optical_power \tab Percentage of the full illumination power \tab default: 90
21
#' }
22
#'
23
#' @param RegDose \code{\link{numeric}} (\bold{required}): a vector with the dose points for the regeneration cycle
24
#'
25
#' @param TestDose\code{\link{numeric}} (\bold{required}): set testdose in [Gy]
26
#'
27
#' @param PH\code{\link{numeric}} (\bold{required}): set preheat temperature [deg. C]
28
#'
29
#' @param CH\code{\link{numeric}} (\bold{required}): set cutheat temperature [deg. C]
30
#'
31
#' @param OSL_temp\code{\link{numeric}} (\bold{required}): set OSL reading temperture [deg. C]
32
#'
33
#' @param Irr_2recover\code{\link{numeric}} (\bold{required}): set dose to recover with DRT [Gy]
34
#'
35
#' @param Irr_temp\code{\link{numeric}} (with default): set irradiation temperature [deg. C]
36
#'
37
#' @param OSL_duration\code{\link{numeric}} (with default): set OSL measurement time [s]
38
#'
39
#' @param PH_duration\code{\link{numeric}} (with default): set preheat duration [s]
40
#'
41
#' @param dose_rate\code{\link{numeric}} (with default): set the dose rate [Gy/s] of the laboratory irradiation unit
42
#'
43
#' @param optical_power\code{\link{numeric}} (with default):
44
#'
45
#' @return This function returns a \code{\link{list}} with a sequence of a dose-recovery-test (DRT)
46
#'
47
#' @note This function can do just nothing at the moment.
48
#'
49
#' @section Function version: 0.1.0
50
#'
51
#' @author Johannes Friedrich, University of Bayreuth (Germany),
52
#'
53
#' @references
54
#'
55
#' Murray, A.S. and Wintle, A.G., 2000. Luminescence dating of quartz using an
56
#' improved single-aliquot regenerative-dose protocol. Radiation Measurements
57
#' 32, 57-73.
58
#'
59
#' @seealso \code{\link{create_SAR.sequence}}, \code{\link[Luminescence]{plot_DRTresults}}
60
#'
61
#' @examples
62
#'
63
#'   sequence <- .create_DRT.sequence(
64
#'    RegDose = c(0,8,14,26,32,0,8),
65
#'    TestDose = 5,
66
#'    PH = 240,
67
#'    CH = 200,
68
#'    OSL_temp = 125,
69
#'    Irr_2recover = 10
70
#'    )
71
#'
72
#' @noRd
73
.create_DRT.sequence <- function(
74
  RegDose,
75
  TestDose,
76
  PH,
77
  CH,
78
  OSL_temp,
79
  Irr_2recover,
80
  Irr_temp = 20,
81
  OSL_duration = 40,
82
  PH_duration = 10,
83
  dose_rate = 1,
84
  optical_power = 90
85
){
86

87 5
  temp.list <- list()
88 5
  sequence <- list(ILL = c(125, 70, 100),
89 5
                   IRR = c(Irr_temp, Irr_2recover, dose_rate))
90

91 5
  for (i in 1:length(RegDose)){
92

93 5
    if(RegDose[i] == 0){
94

95 5
      temp.list <-list(
96 5
        TL = c(20,PH,5),
97 5
        PAUSE = c(PH,PH_duration),
98 5
        OSL = c(OSL_temp,OSL_duration,optical_power), # Lx measurement
99 5
        IRR = c(Irr_temp,TestDose,dose_rate),
100 5
        TL = c(20,CH,5),
101 5
        OSL = c(OSL_temp,OSL_duration,optical_power) # Tx measurement
102
      )
103
    } else {
104

105 5
      temp.list <- list(
106 5
        IRR = c(Irr_temp,RegDose[i],dose_rate),
107 5
        TL = c(20,PH,5),
108 5
        PAUSE = c(PH,PH_duration),
109 5
        OSL = c(OSL_temp,OSL_duration,optical_power), # Lx measurement
110 5
        IRR = c(Irr_temp,TestDose,dose_rate),
111 5
        TL = c(20,CH,5),
112 5
        OSL = c(OSL_temp,OSL_duration,optical_power) #Tx measurement
113
      )
114
    }
115

116 5
    sequence <- c(sequence,temp.list)
117

118
  }
119

120 5
  return(sequence)
121

122
}

Read our documentation on viewing source code .

Loading