text:
\section{Introduction}
High energy radiation can be detected directly by converting photons into electrical signals, or indirectly using scintilators and photodiodes. Direct conversion detectors are expected to have higher signal-to-noise ration, higher spatial and temporal resolution, even on a single photon counting level. This could lead to spectrally resolved computed tomography and advanced medical X-ray imaging~\cite{Overdick2009}. An efficient detector optimization is a challenging technological task. The single crystal growth is one of them, high mobility-relaxation time product ($\mu\tau$) is another one and least but not the last one is different mobility and trapping cross-section of photo-generated holes. The latter one contributes to significant degradation of temporal resolution. A wide range of materials~\cite{Nikl2006,KasapSensors2011,Overdick2009,HampaiLiF2011} provide good sensitivity, but poor temporal performance is achieved. The low mobility of holes, compared to electron mobility, have been solved by coplanar grid (CPG) detection~\cite{Luke1995} in CdZnTe detectors, semiconductor analogue of Frisch grids in gas ion chambers.

As the technology of majority of proposed materials needs yet to mature, the choice of GaAs, crystalline CdTe or CdZnTe is mandatory for counting and high energy resolution applications. The problem with different electron and hole mobilities is overcome using the coplanar grid electrodes and it has been proven also to be efficient way to increase specral resolution~\cite{ref1}. The coplanar-grid as well as other electron-only detection techniques~\cite{Zhang2013,Owens2007} are effective in overcoming some of the material problems of CdZnTe and, consequently, have led to efficient gamma-ray detectors with good energy resolution while operating at room temperature~\cite{AmmanJAP2002}.

The main limitations yet remain to be high quality crystalline material and polarization effects. Their reduction has been addressed both experimentally and theoretically. Atomistic simulations~\cite{WardPRB2012,WardPRB85-2012} are a powerful method for exploring crystalline defects at a resolution unattainable by experimental techniques~\cite{refColaAPL}. Determination of electric field shape precisely due to relatively complicated electrodes structure and application of the bias and intergrid voltage simultaneously is experimentally also difficult task.
Though exact solutions are often tedious, simplified models have been also proposed. A small part of pixel detector has been considered~\cite{Guerra2009} and spectral response modeled. Polarization and carrier trapping was solved by simplified set of kinetic equations~\cite{BalePRB2008} in CdZnTe detectors, the effect of transport parameters' inhomogenities (charge density, mobility, potential fluctuations) and hot carriers were discussed~\cite{HarrisonPRB2008} and plasmons in solid state radiation detectors were studied~\cite{ChoyEPL1993}. The Laser induced Transient Current Technique (L---TCT) provides information about charge collection dynamics and detector polarization~\cite{ref2,ref3,ref4,ref5}. It has been measured on pixel~\cite{Overdick2009} and coplanar grid detectors~\cite{PrausAPL2016}. Though it is important for further detector optimization, the theoretical treatment is usually given only in simplified experimental geometries and basic formulation of Schockley-Ramo theorem~\cite{Prettyman1998}. The coplanar grid detectors have been modeled also only in simplified geometry and spectral response has been calculated only~\cite{McGregor1998,Luke1995,Prettyman1998,KozerovAPL2007}. Sparse realistic detector geometries were considered for X-ray spectra simulations~\cite{Ma2014,Huang2015}, however, no temporal response has been calculated.

We provide here an insight on carrier transport in a radiation coplanar grid detector based on CdZnTe, valid also for other semiconductors used in direct conversion detectors. We determine  influence of bulk semiconductor parameters on a temporal and spectral resolution in real detector geometry. The requirement on efficient charge collection is discussed with respect to effects of depletion width, diffusion and detector shielding. The L---TCT waveforms compared to numerical model allow evaluation of the electric field profile inside coplanar grid detector with high spatial resolution unattainable experimentally. The spectral resolution improvement is quantitatively determined in a coplanar grid detector and the differential current sensing~\cite{PrettymanDiff1999,Luke1995,McGregor1998} is shown to overcome problems of low hole mobility, high hole trapping cross-section and random nature of X-/gamma ray photon absorption within a detector. We also aim to show simplified analytically based considerations to understand detector operation, which is useful for qualitative optimization without need of elaborate numerical calculations.

\section{Methods}
The L---TCT response has been modeled by drift transport mechanism of photo-generated carriers. The above band gap photo-generation is assumed. Holes have been neglected for their small mobility $\mu_h\cong 100$~cm$^2$V$^{-1}$s$^{-1}$ and short life time~\cite{Fink2006}. For this reason we assume electrons only~\cite{Luke1995} and collection times much shorter than electron life time. In L---TCT, holes are swept to cathode in subnanosecond times, hence, their influence is negligible. The current response caused by moving charge between electrodes have been calculated using Shockley-Ramo theorem. The foundation of Shockley-Ramo theorem is based on known electrostatic potential in two cases. The first one consists of real electrostatic potential distribution within a detector. The second is a potential distribution of a weighting potential. Here, the electrode of interest is biased to 1~V and all other electrodes are at 0~V. The corresponding electric  field determines the charge response on a given electrode and the time derivative determines the current response~\cite{ref9,ref8,ref10,ref11}. The full real potential and corresponding electric field determines the trajectory of photo-generated carriers. We assume only small enough concentration of photo-generated carriers that they do not spread by diffusion or electrostatic repulsion on the length scale of detector size before they are all swept by anode. This is clearly well fulfilled since the diffusion time broadening is about 15~ns and carriers move about 1~$\mu$s from cathode to anode. The limitations of this assumption are discussed comparing the model and experimental data.

The L---TCT current response is modeled by assuming 1.4~mm wide laser spot size on partially transparent cathode. We trace 300 electron trajectories equally spaced on a cathode center. The motion of each electron (electron packet) has been calculated by integrating their drift velocity. The current response is then calculated for each of 300 trajectories and summed up. The resulting summed current response has been compared to experimental data. We also assume positively charged depletion width below cathode and negatively charged space region below anode, as commonly observed in CPG. These space charge regions give rise to current decrease (increase) at the time of 0 (1~$\mu$s).

The experiments done by hard X-ray and $\gamma$-ray transient current technique (X---TCT) has been modeled by solution of Poisson equation and, in the second computation step, electron trajectories have been obtained by integrating their velocities (as in L---TCT curves). However, here, the initial position of photo-generated carriers have been determined in a Monte-Carlo loop. Random position of photo-generated carriers is a model of large absorption length of X/gamma-ray radiation, hence the model holds for more than 100's~eV energetic photons. Here, we have not summed all trajectories with a random initial position. Instead, the current response has been calculated for each trajectory separately and the total collected charge has been calculated by integrating current response in time. The electron current response has been considered only since holes' mobility is $10\times$ lower~\cite{Fink2006} and holes have higher trapping cross-section. We have traced 1500 trajectories and total collected charge from electron motion has been statistically analyzed.

The electrostatic potential has been calculated by solving Poisson's equation $-\Delta\varphi=\frac{\rho}{\epsilon}$ by finite element method. The detector geometry has been chosen to properly model a Redlen Inc. state-of-the-art CdZnTe CPG detector. The mesh triangulation has been used to properly describe size effects of rectangular metal anode grid. The anode behaves as a set of parallel charged wires when charge is far from the anode compared to anode characteristic size (anode strip width). And, the anode behaves like infinitely large planar electrode if the charge is close enough to anode compared to characteristic anode size. We consider the latter case as a measure of sufficiently dense triangulation. This regime can be analytically treated as well, and pronounces itself as a constant electric field and linear-in-distance electrostatic potential.

The strong electric field at both electrodes causes velocity saturation. The field maximal values are $\approx 10^{4}$~V/cm, giving drift speed up to $1\times10^7$~cm/s assuming electron mobility is $\mu\approx 1000~$cm$^{2}$V$^{-1}$s$^{-1}$. The saturation velocity in CdZnTe is about $v_{sat}\approx1\times10^7$~cm/s~\cite{refRuzin} therefore the velocity field dependence is expected to show non-linear behavior. The velocity saturation~\cite{refSze} is taken into account by
$v=\frac{\mu E_{loc}}{\sqrt{1+\left(\frac{\mu E_{loc}}{v_{sat}}\right)^2}}$.

\section{Samples and experimental setup}
The modeled L---TCT waveforms have been compared to experimental data measured on coplanar grid CdZnTe detector. The detector, purchased from Redlen Inc., has dimensions $10\times10\times10$~mm$^3$. The details of our L--–TCT setup~\cite{ref6,ref7} and data proccessing are descibed elswhere~\cite{PrausAPL2016}. The detector cathode was irradiated by optical pulses ($\approx3$~ns as FWHM, 200~ps rise and fall time) using the laser diode (660~nm, 300~mW) that is powered by an ultra-fast pulse generator. Pulse output energy was 0.4~nJ and repetition rate was 100~Hz. A collimation and imaging optics and a translation stage is used in the setup to adjust the laser diode beam onto the examined spot of $\approx3$~mm$^2$ on the cathode. Neutral density disc filter is placed in the beam line for optimal intensity attenuation of the laser pulse. Negative bias $V_B$ is applied to the CPG detector cathode (up to 1700~V) and supplementary intergrid voltage $V_{IG}$ between the collecting and non–collecting anode grid is introduced by an additional adjustable low noise voltage supply ($0~-~200$~V).

\begin{figure}[t!]
\centering
\includegraphics[width=9cm]{Fig1}
\caption{Doping dependence of L---TCT response curves. Doping densities $N_D=0.7$, 4.0 and 16.0 $\times10^{10}$~cm$^{-3}$ are distinguished by red, orange and violet color. Solid (dashed) curves in (a,c,e) show numerical simulation for intergrid bias $V_{IG}=0$~V (150~V). Solid (dashed) curves in (b,d,f) show numerical simulation for negative cathode bias $V_B=1700$~V (1000~V). The insets (e,f) depict detail of the current response around $t\approx0~\mu$s. The space charge width below cathode is $0.64DW$. The simulation is shown for (a,b,e,f) collecting grid  and (c,d) non-collecting grid. The I$_G$ trend (a,c,e) is studied for negative V$_B$=1700~V and the V$_B$ trend (b,d,f) is studied for V$_{IG}$=150~V.}
\label{Fig1}
\end{figure}
\section{Charged impurities, depletion width and diffusion}
The effect of doping is shown  in Fig.~\ref{Fig1} for positive space charge $N_D=0.7$, 4.0 and 16$\times10^{10}$~cm$^{-3}$. The current response in L---TCT is modeled for collecting grid (CG) in Fig.~\ref{Fig1}~(a,b,e,f) and for non-collecting grid (NCG) in Fig.~\ref{Fig1}~(c,d). The current response can be split into three characteristic intervals. The first one is given by charge deceleration in a positive space charge below cathode. The second regime is at intermediate times when the charge moves through the part of the detector without any fixed space charge. The third regime is a time of charge collection at the anode. It can be seen from numerical simulation that the peak current response at the collection time increases with decreasing doping. The initial current peak is decreasing with decreasing doping and ideally disappears. The initial current peak can give rise to a spurious signal contributing to a low energy spectral shoulder in $\gamma$-ray spectra. The anode intergrid bias is shown for two values 0 and 150 V in Fig.~\ref{Fig1}~(a) and (c). We note that the intergrid bias does not influence the initial current response, as is shown in the inset Fig.~\ref{Fig1}~(e), in contrast to cathode bias, inset (f). This is caused by the local effects of intergrid bias on a small area around anode. The cathode bias $V_B$ (cathode to NCG bias) influences mean field within a detector, thus changing current response for all times from the photo-carrier generation to their complete collection on CG.

\begin{figure}[t!]
\centering
\includegraphics[width=9cm]{Fig2}
\caption{Space charge width dependence of L---TCT response curves. The space charge width is measured in units of equilibrium depletion width DW for $N_D=8\times10^{10}$~cm$^{-3}$. The black, red and green curves correspond to depletion width 0.64, 0.80 and 0.85~DW, respectively. The numerical simulation is shown for (a) collecting and (b) non-collecting grid. The inset in (a) depicts detail of current evolution at $t\approx0~\mu$s. The intergrid bias $V_{IG}=150$~V and cathode bias negative $V_{B}=1700$~V.}
\label{Fig2}
\end{figure}
The cathode depletion width dependence of the L---TCT waveform is shown in Fig.~\ref{Fig2}. The cathode is a planar electrode and the constant current is expected for uncharged bulk semiconductor. The space charge (fixed or mobile) causes deceleration of carriers hence decreasing current. The equilibrium depletion width ($DW$) is given by $DW=\sqrt{\frac{2\epsilon V}{qN_D}}$ , where $N_D$ is doping density (or fixed space charge), $V$ is a voltage drop within a depletion width and $\epsilon$ is permitivity. The width of the depletion region varies from this simple model when carrier trapping and de-trapping is assumed, or more than one trapping level is located in the vicinity of the Fermi level. It can be seen from Fig.~\ref{Fig2} that the peak current increases with decreasing depletion width. This effect is due to the reduced total voltage drop in a depletion region and consequently higher voltage drop at the anode. The latter causing higher electric field and higher current. We note here, that this is in contrast to doping density. The current response of a NCG is shown in Fig.~(2)~(b). The current response is, similarly to CG, stronger for thinner depletion width.

\begin{figure}[t!]
\centering
\includegraphics[width=9cm]{Fig3}
\caption{The effect of diffusion on L---TCT current response; positive space charge below cathode only (0.64DW, $N_D=4\times10^{10}$~cm$^{-3}$). Diffusion peak broadening $\delta t=$~0, 10, 20 and 30~ns has been assumed. The effect of diffusion is simulated for (a) collecting and (b) non-collecting grid. The intergrid bias $V_{IG}=150$~V and cathode bias $V_{B}=1700$~V.}
\label{Fig3}
\end{figure}
The effect of diffusion is shown in Fig.~\ref{Fig3}. Diffusion takes important role for long enough transient times $t$ when $\delta$t is comparable or larger than drift current temporal width. For this reason we show only the current peak modification at the charge collection on anode. The temporal broadening can be estimated from $\delta t=\sqrt{2D_et}/v$, where $D_e=\mu_e\frac{k_BT}{e}$ is electron diffusion constant related to electron mobility $\mu_e$, temperature $T$ and mean drift velocity $v$, which can be estimated from the transient time $t$ and detector height $d$; $v=d/t$. The current response for CG and NCG is shown for four diffusion broadening times (0, 10, 20, 30~ns). The current response is calculated for $N_D=4\times10^{10}$~cm$^{-3}$ and space charge width 0.64 of the equilibrium depletion width.

\section{Electrostatic shielding}
We study here the effect of electrostatic shielding on inner potential distribution within a detector. The detector shielding has been assumed to cover 2/3 of detector height. This coverage maximizes the shielding effect yet reduces a risk of material and surrounding air dielectric breakdown caused by strong electric field between cathode (top shielding edge) and anode. The critical electric field $E_c=3$~kV/mm in air provides possibility to apply $V_{B,max}\approx9$~kV between shielded cathode and anode (shielding-anode gap 3~mm for 2/3 of detector height coverage). We show three trial electron trajectories in Fig.~\ref{Fig9} for (a) unshielded and (b) shielded detector. The electron trajectories are almost parallel for unshielded detector and they tend to get localized to one trajectory in the shielded case.
\begin{figure}[t!]
\centering
\includegraphics[width=9cm]{Fig9}
\caption{(color online) Equipotential lines in (a) unshielded and (b) shielded detector. A detector area is depicted by thin solid black lines. The cathode is at 0~V (bottom planar contact), CG anode at negative 1850~V and NCG anode at negative 1700~V (coplanar grid anode at the top). Three representative electron trajectories are depicted as thick black lines. }
\label{Fig9}
\end{figure}
The current response is shown in Fig.~\ref{Fig8}. The initial current peak decreases to about 40\% of the unshielded value and the collection peak current rises by $\approx30\%$. Both effects improve detector functionality. The first peak reduction will lead to lower spurious signal and the stronger collection peak to better signal-to-noise ratio.

\begin{figure}[t!]
\centering
\includegraphics[width=7cm]{Fig8}
\caption{The current waveform on (a) CG and (b) NCG anode for (orange) unshielded and (light red) shielded detector. Calculated using potential spatial distribution shown in Fig.~\ref{Fig9}.}
\label{Fig8}
\end{figure}

\section{Experimental data}
The measured L---TCT waveforms in a coplanar grid detector on a CG and NCG anode are shown in Fig.~\ref{Fig7}. The data show good qualitative agreement, see Fig.~\ref{Fig8}, and in many aspects also quantitative comparison with simulated data can be made, especially concerning relative intensities of current peaks at the beginning and at the end of charge collection. The initially decreasing current is caused by decelerating electrons in a positive space charge below the cathode. The second collection current peak is stronger than the first one especially due to the strong electric field between CG and NCG. This current originates also in a negative space charge below anode. The current peak at the time of charge collection $t\cong700-800$~ns is broadened by electron diffusion. The amount of broadening estimated from the numerical simulation is $\delta t\approx$10~ns.

\begin{figure}[t!]
\centering
\includegraphics[width=7cm]{Fig7}
\caption{Experimental data of L---TCT measured on a collecting grid (solid curves) and non-collecting grid (dashed curves) of non-shielded detector for negative $V_B=1500$~V and three inter-grid biases $V_{IG}=0$~V, 20~V, 100~V depicted by black, red and green curves, respectively.}
\label{Fig7}
\end{figure}

\section{Differential current sensing}
Here we study importance of the measurement technique to detect photo-generated carriers. An example of three current waveforms detected on CG, NCG and differentially measured signal between CG and NCG is shown in Fig.~\ref{Fig5}. The advantage of differential sensing is lack of any signal before charge reaches coplanar grid anode. There is no influence of the positive space charge at cathode, since such a current response is equal for CG and NCG. We note that the differential sensing does not bring significant improvement for L---TCT, where the differential current waveform can be formed by data post-processing, as has been done in numerical simulation in Fig.~\ref{Fig5} to illustrate the method. The advantage is more pronounced when $\gamma$-ray photons are detected. Here, the absorption events occur randomly within a detector volume and they contribute to signal broadening. The $\gamma$-ray photon detection is modeled in Fig.~\ref{Fig6}.

\begin{figure}[t!]
\centering
\includegraphics[width=6cm]{Fig5}
\caption{L---TCT current response for $V_B/3$ voltage drop at the cathode (positive space charge $N_D=4\times10^{10}$~cm$^{-3}$) and $V_B/10$ voltage drop at the anode (negative space charge $N_A=5\times10^{10}$~cm$^{-3}$). The current response measured at the collecting grid (solid blue curve), non-collecting grid (dashed red curve) and differential signal (solid black curve). The applied biases are $V_{IG}=150$~V and negative $V_B=1700$~V.}
\label{Fig5}
\end{figure}

We have traced 1500 trajectories of randomly generated photo-excited electrons and the total electron-induced charge has been calculated. An example of 50 random trajectories is shown in Fig.~\ref{Fig6}~(d). We note, that if holes are considered the total collected charge is $1e$, however, we assume low hole mobility and high trapping cross-section for holes. This leads to much weaker current response, or, the current response on very long time scales in comparison to electron induced TCT waveforms. For this reason, electron traced from below cathode gives larger induced charge than electrons traced from the anode vicinity. The statistics of all Monte-Carlo simulated absorption events are shown in Fig.~\ref{Fig6}~(a,b,c) for CG, NCG and for differential sensing, respectively. The CG and NCG current waveforms have rectangular like shape caused by equal distribution of absorption events within a detector. The mean collected charge on NCG is shifted towards zero because ideally no charge is collected by NCG. We consider here negative space charge at the anode. This space charge screens the electric field of neutral bulk detector (no charge collected by NCG) and it allows certain electron trajectories to be collected by NCG.
\begin{figure}[t!]
\centering
\includegraphics[width=9cm]{Fig6}
\caption{(color online) Monte-Carlo simulation of 1500 single $\gamma$-ray photon absorption events. Doping density, depletion widths and applied biases are the same as in Fig.~\ref{Fig5}. The absorption probability is assumed to be equal throughout the detector volume. Currents induced by holes are neglected. The histograms (a,b,c) depict statistics of collected charge for all 1500 absorption events. The statistics is shown for the case of current measured on (a) collecting, (b) non-collecting grid and (c) differential signal between collecting and non-collecting grid. Equipotential lines (blue to red contour lines), detector area (solid black lines) and 50 selected random absorption events are shown in (d). }
\label{Fig6}
\end{figure}

In contrast to CG current response, the differential sensing, see Fig.~\ref{Fig6}~(c) shows the same mean charge collection, however, the Full Width at Half Maximum is 10$\times$ smaller. This is caused by the signal insensitivity to the position of random-in-nature absorption events of $\gamma$-ray photons. We also note that there is no spurious signal at 0~ns, Fig.~\ref{Fig5}, caused by positive space charge hence reduced low energy spectral shoulder~\cite{GiazEPL2015} is expected beside the Compton scattering contribution. The effect of holes is also reduced regardless of assumptions made in our simulations. Holes are attracted towards cathode giving even weaker response on a CG anode.

\section{Discussion}
General considerations to understand current waveforms follow from Shochley-Ramo theorem $i=eE_vv$. Decreasing/increasing current shows on decreasing/increasing electric field in a positive/negative space charge at cathode/anode. The space charge at anode forms weak current response at $V_{IG}=$~0V and it causes current shoulder for early time of charge collection. The dominant signal at the charge collection time for $V_{IG}>$~0 is caused by accelerated electrons in a spatially modulated electric field by inter-grid bias $V_{IG}$.
More specifically, we have shown that the cathode bias increases the peak current response. It also increases the initial signal caused by positive space charge at the cathode~\ref{Fig1}~(b). This can lead to spurious signal leading to low  energy spectral shoulder in X ray spectra. At the same time, since the charge is swept faster through detector bulk, there is lower probability for carrier trapping and detector polarization. The lowest doping density is still the ultimate option here because it worsens the charge collection efficiency.
The effect of diffusion is twofold. First, the higher is diffusion/mobility, the faster is a response time at a given detector size. Second, as absorption efficiency increases with detector size, diffusion lowers the signal. Hence, for fast response and strong current signal, thinner detector is acceptable. We also point out that thinner detector volume also eliminates carrier trapping.
The optimal detector thickness and coplanar grid dimensions can be established for differential signal sensing. The final peak width in the case of differential sensing is caused by space charge at the anode, grid size (signal increases for denser anode grid) and by carrier diffusion. Low diffusion rate also leads to better signal-to-noise ratio. The diffusion length on a distance of detector size should be smaller than anode intergrid spacing. If diffusion length is comparable or larger than the anode intergrid spacing, the CG and NCG diffusion dominated current will be equal, and, differential signal will be negligible.
The shielding has been shown to improve the current waveforms in a solely drift model, as shown experimentally~\cite{JoCAP2015}. It improves signal to noise ratio, deceases the initial spurious signal caused by positive space charge at the cathode and eliminates noise from the external detector environment. Contrary to that, it slows the detector response time by about $5\%$ and directs carriers into one single conducting channel inside detector. The channeling effect leads to increased diffusion and electron repulsion even for intermediate times before charge collection.

Next, further simplifications of the proposed numerical model are discussed. It is shown that many current waveform characteristics can be explained separately one by one using simple physical considerations. These are based on electrostatic potential spatial distribution of the space charge in bulk semiconductor and assuming proper scaling of charge-to-electrode distance. If charge is close to planar cathode with respect to the cathode dimension, the electric field can be considered constant and electrostatic potential linearly scales with distance from cathode. In the presence of space charge below cathode and charge-cathode proximity, the field scales linearly and electrostatic potential quadratically with the charge-cathode distance. The Schockley-Ramo theorem than gives quadratic current waveform. The situation at the anode has to be split into two regimes. When electron is far from anode compared to the anode dimension, the electric field can be tought as that of charged wire. The intergrid potential difference will be negligible and the electron effectively moves in the effective electric field given by mean potential on CG and NCG anode. This mean potential influences the transient time by the order of 100D/L~\%, where D is anode width and L is a detector thickness. When electron approaches anode on a distance much smaller than anode width, the situation becomes equal to the one at cathode in close charge-cathode proximity. The iterative schemes can be applied to describe analytically field profiles through whole detector volume. Deviations from these assumptions lead to another model parameters. We have studied negative space charge below anode as one example and discussed diffusion due to localized carriers in one narrow potential minimum when shielding is applied as a second example of these deviations. The first additional parameter is easily taken into account in our drift model, the second one exceeds our model limitations. The proper treatment of the latter case has to be solved by coupled set of drift-diffusion, continuity and Poisson equation. The numerical hardness of such simulation however hinders basic physical considerations as discussed above.

\section{Conclusion}
We have provided simple drift-based model to understand laser induced transient current waveforms. The model has been compared to experimental data where qualitatively full current waveform has been reproduced. The capability of the proposed model has been shown to provide even quantitative agreement within limitations given mainly by diffusion and electron repulsion. We have simplified the model even more based on our experience from the numerical simulations. The simplified analytical considerations have been shown to provide a fruitful insight into detector operation. The current waveforms were studied under varied doping density, positive and negative space charge, cathode and intergrid bias, diffusion length and detector shielding. The trends on how current waveforms are influenced by these parameters provide numerically insight on a detector optimization. A mutual influence of these parameters has been discussed and their possible contradiction was pointed out. Finally, we have quantified increased efficiency of the commonly employed differential sensing in hard X-ray and $\gamma$-ray detectors. The more elaborate extension of the work has been discussed in terms of nonlinear set of coupled drift-diffusion, continuity and Poissons equation.
The presented work will be useful for quick insight on a radiation detector operation and optimization for even interdisciplinary scientific community involving broader physics and medical physics.

\section{Acknowledgement}
Financial support from the Technological Agency of the Czech Republic under project TE01020445, and the Grant Agency of the Czech Republic under contract P102/16/23165S are gratefully acknowledged.

redpajama_set_name: RedPajamaArXiv


For companies today, change is constant and uncertainty is certain. Our mission is to help clients not just navigate through these, but turn them into competitive advantage. In a world burdened by too much information we help executives weed out the unnecessary and gain the right insights to make better decisions.
Our team having been entrepreneurs and executives themselves realize the complexities and challenges you face. We bring diverse proven strategy frameworks and take a collaborative approach to strategy development. We start with an assessment of the current situation and partner with our client's senior management team to identify the objectives, tactics to achieve them, and metrics to define success.


This section of the site provides information and resources designed to support academic training in obstetrics and gynaecology (O&G) at undergraduate level.
This section of the site brings together the ways in which the RCOG supports and develops undergraduate academic work in O&G.
Miss Fidelma O'Mahony FRCOG, consultant in O&G and Senior Lecturer in Medical Education at the University Hospital of North Midlands is the undergraduate lead for the RCOG. She is year 4 clinical lead at Keele Medical School and has been involved in curriculum development and administration as well as undergraduate teaching since the medical school was established.
She is keen to promote links between undergraduate and postgraduate training in Obstetrics and Gynaecology and to develop academic and clinical learning opportunities across the speciality. She is happy to be contacted by email or telephone on +44 (0)1782 672376.
The junior academic trainees' representative is Dr Robbie Kerr. Robbie is an ST4 and has entered his second year as an Academic Clinical Fellow in the Sanyu Research Unit at Liverpool Women's Hospital. The Sanyu Unit specialises in low cost technologies for improving global maternal and newborn health. Dr Kerr's research interest is international maternal health, specifically: evaluation of obstetrics training in low-resource settings, induction of labour and postpartum haemorrhage. He is motivated to improve opportunities for those at all stages of their training to get involved in research in obstetrics and gynaecology.
The Annual Academic Meeting, organised jointly by the RCOG and the Blair Bell Research Society, provides a forum for medical students to present their work in a rigorous national environment, in oral and poster formats. The meeting also includes a session in which undergraduate leads and students can discuss key issues on how best to support the development of undergraduate students.
The RCOG also runs the annual National Trainees Conference specifically for trainees in O&G, although there isn't a specific slot for undergraduates.
There is also a Medical Students' Day, organised jointly by the RCOG and the British Undergraduate Society for Obstetrics and Gynaecology (BUSOG), designed to showcase a career in O&G and to offer tips on making the most of the undergraduate experience.
For information about these meetings and conferences, please search within the courses listing.


Thanks for checking out our blog page. We will be keeping you up to date on news and relevant information here on these pages. I will be writing blogs as and when I get chance , my busy schedule permitting, and I will be putting up links to articles of interest as and when I come across something which I think our clients will be interested in.


Click Here to fill out CALF's volunteer interest form. CALF has a variety of volunteer opportunities and looks forward to see you out at CALF's Lowell Ranch. We are particularly interested in retired teachers interested in helping us with our education programs.


This module tracks employees' medical benefits, entitlements, reimbursement and statement efficiently. it is designed to minimize the time spend on employee medical management, medical billing and panel clinic/hospital listing.
This module captures employees' expenses related information, simplify claim request and approval process, and accurately reimbursing entitlements. Employees can attach receipts or any other documents on to help elucidate the claim approval process. To keep you in control of your expenditures, system provides claim entitlements details, claim transaction and history records.
Allow users to view all current and historical claim records, at any time.
Create types of reimbursements and details that you would process for your employees such as: entitlements, maximum claimable amounts, carry forward limit and so on.
Capture, submit, and approve claims on any device.
Industrial relation management allows managers to log disciplinary action and capture all the procedures taken. User can create new disciplinary action records that hold information about employees and the behavior issues that are causing problems. Thereafter, they can upload the outcomes of the disciplinary process as well as warning letters and other supporting documentation. The employee can log into the system, view incidents reported against him/her for which corrective actions are already taken, and make appeals through the system.
This module allows HR manager to revert daily data from canteen operator on the employees' meal subsidy and expenses information.
This module provides up-to-date information on employee stock option plan and indicates share movement within the organization.
This module allows user to update all different insurance policy details and claim transaction for monitoring and recording employees' payment history, insurance entitlement balance and insurance policy.
Based on company defined policy to complete the points earned within the year, there will be a benefit menu provided by the management for employees to pick besides the normal benefits.
This module manages employees travel planning, allows employees to make travel request, allows managers to approve travel request according to organization policy.
Copyright © Boss Solutions 2019. All Rights Reserved.


text:
FAOU Announcements
FAOU Articles
What you missed in FAOU
Nadir Ul Kaysar
What we wish everyone knew about Gamification in 2021
Playing video games is fun! What if it becomes educational too? We are going to explain the term gamification that actually can be a game-changer for the educational system and beyond. Let's go!
Gamification: what does it mean?
Gamification is the idea of taking the gaming environment's activities, operations, processes and competitiveness and converting them into a mechanism that encourages customer interest, participation, engagement, and loyalty. Businesses can see value added to their marketing campaigns by new methods of interaction by using the technique used by software developers to catch the attention of game players.
Gamification takes the basic human emotions of community, accomplishment, and reward commonly found in gaming websites and platforms and flips them on their heads to help and benefit businesses. It's not so much about inventing a new game for a fast-food restaurant as it is about turning an existing platform, website, or application into a fun experience that encourages consumer engagement, loyalty, and sales.
It's difficult to say exactly when gamification began, but many people point to 1912 as the year when it first became popular. The popular American Cracker Jack popcorn brand began including a free prize in every bag in 1912, although this isn't gamification in the modern context, the use of fun and a prize that could be collected may have inadvertently been gamification's birth. Since 2011, the field of gamification has continued to expand, with more dedicated conferences, books, and research each year.
More organizations and companies are experimenting with the techniques but opinion is still largely divided over its effectiveness, this feeling of experimentation and failure can be summarized by Gartner who estimates that 80% of existing gamified applications would fail to achieve business objectives due to poor design.
Who invented it?
The concept of using the game elements to make other activities more entertaining has been around for decades, although the term itself has been coined only recently. Gamification as we know it today took shape only five years ago, taking flight in the late 2010s. It was in 2002 when the term first appeared, proposed by Nick Pelling, a British-born computer programmer and inventor. It hit the mainstream in 2009 and already became a buzzword in 2011. As described by Pelling, the term implied "Applying game-like accelerated user interface design to make electronic transactions both enjoyable and fast." Nowadays, we may come across its elements in various fields such as education, business, life coaching, apps, and more.
Gamification vs game: wait, they are not the same??
However, there is often a misunderstanding in distinguishing Gamification from games. Games are competitive play accompanied by different rules to determine the specific skill and a winner. Gamification instead takes the elements of games that motivate us and applies them to non-game entities to create a more engaging environment. Gamification is more light-hearted and offers us the opportunities of socializing, learning, mastery, and achievement, through which tedious tasks feel more amusing. This motivates us to take part in an activity and be, in return, awarded with gratification. Therefore, applying gamification to a product can actually result in users' increased levels of happiness and enjoyment.
What are gamification apps?
Gamification is a fun and interactive way to allow individuals to connect to a product or a brand which a company may promote. In recent years having seen gamification spread over different websites and other platforms. Gamification has now been introduced within different apps. This is where employees and individuals working for big corporations too small can complete tedious tasks without it seems that it is hard, but instead engaging & interesting. This not only motivates employees but also boosts employee productivity levels at the workplace. Allowing hard tasks to become games which they are able to enjoy & raise business revenue.
Implementation of it in Moodle
The well-known learning platform known as Moodle has also introduced a gamification plugin that allows its users to learn and test their education through this platform. The plug-in is called "Level Up" and allows the teachers & students to monitor different students' performance based on their current results and can see student rankings on it. Points are attributed on the basis of their performance levels.
AI: the game changer for gamification!
Artificial intelligence optimizes the user experience that includes compensation for lack of knowledge. It certifies mood at its best. It ensures that game mechanics are modified. Artificial Intelligence optimizes focused gamification algorithms because it offers the best buying experience for the desired person. It helps the user to choose the right product. It also predicts buying behaviour and fantastic experience. These algorithms include the following:
1: Finding the best campaign at the best time for the right people.
2: Providing the best rewards for the right campaign and the right people.
2: Finding the best engagement based on personality analysis.
How it increases user engagement
There are several ways to increase gamification user engagement.
Create challenges
You can engage the user by including levels into segments. It motivates them to continue participating.
Implement learner-focused features
Make all the participants drivers of their own experience. When people can personalize their feedback, it makes them feel more engaged and invested in the program.
Encourage users to challenge their friends
Playing a game with strangers is ordinary. Make it easier for users to rope a friend in and get them intrigued. It helps to increase the reach of your brand.
Add Leader-board
Leaderboard motivates the users when they serve as a visual gauge of status among other users. In this way, they will spend more time on it and try to compete with their friends.
How gamification will change business intelligence
Almost every big organization's business model is becoming business intelligent. Companies worldwide are expected to invest $33 billion in business intelligence by 2025. They're finding a variety of innovative approaches to business intelligence that are assisting them in gaining a competitive advantage. One trend or development that is changing the field of business intelligence is gamification.
Gamification is being used by an increasing number of businesses to develop more advanced market intelligence models and improve their competitive edge. Gamification is a method of using game mechanics to incentivize people's participation and engagement and activity in order to achieve desired outcomes. Gamification is used in organizations to complete tasks such as driving, leading, selling, and more. Business intelligence tools can create algorithms that incorporate gamification concepts seamlessly into them.
Important for business
Gamification has taken on an increasingly important position within organizations over the last few years. Companies are turning to gamification when coping with HR-related problems in search of a creative way to involve, reward, and retain employees or workers. Real-world processes such as recruiting and growth have started to adopt gamified concepts. Game mechanics is an increasingly growing area that is now used to improve performance in sales, customer service, and training.
The use of game mechanics, behavioral components, and design strategies in non-gaming contexts is known as gamification. In layman's terms, it involves applying key elements that drive engagement in games, such as design, activity structures, visible achievements, and competition, to items that aren't naturally games (learning, completing work assignments). Points, badges, and leaderboards are the most basic applications of game mechanics that have been most widely used in gamified environments.
Effectiveness in mobile marketing
Gamification in a mobile marketing context entails customer engagement in specific tasks that will increase the chances of achieving business goals. There are various instances of gamification used efficiently in mobile marketing. For example, Starbucks Reward, which gifts customers gold stars on every purchase through a mobile app, entitling them to free refills. Implementing gamification in your marketing strategy can lead to numerous benefits; it boosts engagement with the target audience, monitors customer behavior, and can help your brand become more interactive. By creating memorable experiences, gamification amplifies marketing capacities and keeps customers coming back for more.
Fatima Al-Fihri Open University offers a course on Gamification for Educators. It is self-paced and you can learn the basics from it. Sign Up is FREE!
Companies that use gamification

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Is there a (code-design) reason to not embed classes when designing MongoMapper models? This question relates to using Ruby on Rails 3 with MongoMapper and EmbeddedDocument. Also, the ManyAssociation.
http://mongomapper.com/documentation/embedded-document.html
The MongoMapper examples (in the link above) show two separate classes:
class Order
  include MongoMapper::Document

  many :line_items
  timestamps!
end

class LineItem
  include MongoMapper::EmbeddedDocument

  key :name, String
  key :quantity, Integer
end

But this pollutes the global namespace with LineItem. Out of context, LineItem for what? And what if I want another model, say WishList, to also have a LineItem set?
So it is possible to embed the LineItem class inside Order, like this:
class Order
  include MongoMapper::Document

  many :line_items, :class_name => "Order::LineItem"
  timestamps!

  class LineItem
    include MongoMapper::EmbeddedDocument

    key :name, String
    key :quantity, Integer
  end
end

While this may be technically fine (yes?), will I run into design issues later on? Does it just make the code too ugly? Too complex?
Presumably, the existence of this in the Ruby language means someone thinks it's an ok idea?
One thing I always liked about Django is how it uses "apps" to group related model classes (and separate the namespaces). So my code above is also achieving that in Rails.

A: I don't see any technical problems to either approach.  The problem I've run into is that when a class is embedded in it's parent and is also in the same file, I'll forget it's there.  So if your namespaces it as Order::LineItem you can make an "order" folder in your "models" folder and put "line_item.rb" in there.
The other trouble is if you want to have a controller for Order::LineItem, you also have to namespace it and put it in a folder, and in the router it will look like:
resource :orders do
  resources :line_items,         :controller => "order/line_items"
end

Unless you know your app is going to have multiple types of line_items, I'd recommend not namespacing it—you could be over-coding if you did.  For example, if you were later to need two types of line_items you might even find that some of your code could be re-used between models—and if you namespaced your first line_item you may find yourself de-namespacing it.
In Python, namespaces are considered a great thing that there should be more of.  But when you think about the global namespace of your Rails app, it's not that cluttered. Gem authors are pretty good about keeping all of their classes namespaced in their one gem module, so in your Rails app you're going to have one namespace for each gem you're using (Rails itself is 5 gems, not sure how many global constants though), plus and a bunch of files included by Rails (e.g. SecureRandom).  It turns out to be really nice to have those files "just there" and I've found in practice that namespace collisions are rare and you can easily work around them.  I've only run into a namespace issue maybe once, but several times I've accidentally defined a "send" method on a model—a much more common problem with similar repercussions.

redpajama_set_name: RedPajamaStackExchange


The regions of Delhi and Rajasthan in the north of India are home to some of the most impressive sights in Asia. With visits to the Taj Mahal* and the magical city of Udaipur included, you will experience the very best of this fascinating country on this 14-night break.
As if India wasn't impressive enough, this holiday also offers you the opportunity to enjoy an independent three day stay in the unique city of Dubai at the end of your tour. Lying on the calm, blue waters of the south eastern Persian Gulf and flanked by a majestic desert, Dubai offers all-year-round sunshine and luxury along with the adventure of a unique Arabian experience. Please note that your extension in Dubai will be on an individual basis rather than as part of a group, and that guide services are not included for this part of the tour.
Irish and UK citizens require a visa to enter India. Passport must be valid for at least 6 months. Click here for information on visas for India. Holders of an Irish or UK passport can obtain entry permits upon arrival in Dubai. Non Irish & UK citizens should check requirements.
Compared with certain parts of Asia, India has a very relaxed dress code and similarly by comparison with certain parts of the Middle East, Dubai has a very relaxed dress code. However in both regions, care should be taken not to give offence by wearing clothing, which may be considered revealing, especially when visiting religious sites. At the pool or on the beaches, trunks, swim-suits and bikinis are quite acceptable.
India has a varied continental climate. Spring occurs from March to April, summer from May to October, and winter from November to February. Tropical monsoon occurs from June to August, and post-monsoon or northeast monsoon season (Oct-Dec). Dubai has a hot, sunny desert climate. Avoid the sun between 11am and 3pm. At other times, sunhat, sun glasses and sun block are recommended.
The cuisine in Rajasthan is predominantly vegetarian, with beans and lentils being the focus although chicken and lamb dishes are also widely available - you will see little to no pork or beef in the north of India. The style of dishes is varied and delicious, from hot and spicy to mild and aromatic, you will notice the subtle variations in the food as you travel from place to place. Curry served with fluffy rice and flatbreads usually make up the main meal of the day with dry fruits, spices and yogurt being the predominant ingredients. Dubai is a fantastic place to sample Middle Eastern cuisine, as well as offering countless international dining options. Breads and slow cooked meats are staple, with hummus, tabbouleh and other delicious accompaniments served alongside. Desserts are flavoured with rose water, nuts and dried fruits.
Morning transfer to Delhi Airport with guide assistance for your flight to Dubai.


wide compatibility. EU889293 (S5-n), EU889294 (S5-j), EU889295 (S5-i). PO:0006465; integument (sensu Poaceae) ; PO:0006464; megaspore (sensu Poaceae) ; PO:0006462; nucellus (sensu Poaceae) ; PO:0006457; ovule (sensu Poaceae) ; PO:0006015; female archesporial cell ; PO:0006463; megasporocyte (sensu Poaceae) ; PO:0009046; flower. GRO:0007019; 4.02-embryo sac development. A killer-protector system at the S5 locus encoded by three tightly linked genes [Open Reading Frame 3 (ORF3) to ORF5] regulates fertility in indica-japonica hybrids (Yang et al. 2012). S5-4: JX138502, JX138503, JX138504, JX138505, S5-3: JX138498, JX138499, JX138500, JX138501. HQ846206 to HQ846327 (from O.sativa, O. rufipogon and O. nirvara), JF298922 (from O. barthii). KF892971-KF893059.
Zhou H., Xia D., Zeng J., Jiang G., He Y.
Dissecting combining ability effect in a rice NCII-III population provides insights into heterosis in indica-japonica cross.
Craig S.M., Reagon M., Resnick L.E., Caicedo A.L.
Allele distributions at hybrid incompatibility loci facilitate the potential for gene flow between cultivated and weedy rice in the US.
Yang J., Zhao X., Cheng K., Du H., Ouyang Y., Chen J., Qiu S., Huang J., Jiang Y., Jiang L., Ding J., Wang J., Xu C., Li X., Zhang Q.
A killer-protector system regulates both hybrid sterility and segregation distortion in rice.
Du H. , Ouyang Y. , Zhang C. , Zhang Q.
Complex evolution of S5, a major reproductive barrier regulator, in the cultivated rice Oryza sativa and its wild relatives.
Chen,J., Ding,J., Ouyang,Y., Du,H., Yang,J., Cheng,K., Zhao,J., Qiu,S., Zhang,X., Yao,J., Liu,K., Wang,L., Xu,C., Li,X., Xue,Y., Xia,M., Ji,Q., Lu,J., Xu,M. and Zhang,Q.
Mapping for a new locus causing hybrid sterility in a China landrace (Oryza sativa L.).
Identification of two types of differentiation in cultivated rice (Oryza sativa L.) detected by polymorphism of isozymes and hybrid sterility.
Identification of wide compatibility varieties (WCV's) and tagging of WC gene with isozyme markers.
Breeding Science 1996 46 167-172.
Evidence for mutational origin of hybrid sterility genes in rice (Oryza sativa L.).
Theor. Appl. Genet. 1995 90 182-188.
Molecular analysis of the inheritance of the S-5 locus, conferring wide compatibility in Indica/Japonica hybrids of rice (O.sativa L.).
Saturated molecular map of the rice genome based on an interspecific backcross population.
Japan. J. Breed. 1992 42 15-21.
Difference in recombination frequency between chromogen (C) and waxy (wx) genes in Japonica and Indica rice (Oryza sativa L.) by using Japonica lines with a wide compatibility gene (S-5n).
Location of a gene for wide-compatibility in the RFLP linkage map.
Rice Genetics. II. IRRI, Manila, Philippines. 1991 33-43.
Screening and analysis of wide compatibility loci in wide crosses of rice.
Rice Genetics. IRRI, Manila, Philippines. 1986 119-130.
Genetics of F1 sterility in remote crosses of rice.
Japan. J. Breed. 1984 34(Suppl. 2) 226-227.
Multiple alleles in linkage group I of rice for spikelet sterility in distant crosses.


The Travelex International Payment service is provided by OzForex Limited [ACN: 092 375 703] ("OzForex"). Any reference on this page to "we", "us", or "our" is a reference to OzForex. OzForex treats your privacy rights very seriously and will deal with any personal information you provide to us strictly in accordance with the following privacy principles.
1.2 OzForex has implemented practices, procedures and systems to ensure compliance with the Act and the Australian Privacy Principles and to deal with complaints and enquiries concerning your personal information.
1.3 OzForex's Compliance Officer (contact details in section 8 below) has overall responsibility for ensuring that OzForex and its employees, agents and subsidiaries comply with this Policy.
1.4 OzForex collects information only by lawful and fair means.
1.5 If you are a client of OzForex, this Policy should be read in conjunction with OzForex's Client Agreement.
where you are a client of OzForex, the contents of telephone conversations between you and OzForex representatives.
2.2 OzForex is required to collect certain personal information under the Anti-Money Laundering and Counter-Terrorism Financing Act 2006, rules and other subordinate instruments (AML/CTF Laws).
2.3 If OzForex does not collect your personal information, then OzForex may not be able to provide you with its services or products, or enter into contracts or undertake transactions with you.
2.4 OzForex will collect your personal information only from you unless it is unreasonable or impracticable to do so.
2.6 Where you are a client of OzForex, OzForex may be subject to compliance with its obligations under the Act and may access third party electronic databases necessary to assist it to identify you and such databases could contain credit information. OzForex may therefore collect information about you that it has obtained from businesses that provide information about the credit worthiness of individuals, including consumer credit reports from a credit reporting body.
2.7 OzForex will take reasonable steps to inform you if it collects personal information about you from someone else.
any other purpose disclosed to you at the time OzForex collects your personal information.
3.2 If OzForex sends you information that is relevant to the provision of OzForex's services, and at any time you do not wish to receive that information, you may send OzForex an email opt-out and request that you not be included in any future mail-outs.
h) as may be required under any other law.
OzForex may hold personal information (including credit information and credit eligibility information) in electronic and/or hard copy format.
5.1 Personal information shall be retained only for as long as may be needed for the fulfilment of the purpose(s) for which the information is collected, used or disclosed, or as required by the Act, any other law or a court/tribunal order. You should be aware that OzForex is obliged under relevant AML/CFT Laws to retain information relating to personal identity for 7 years.
5.2 Subject to any legislative requirements, OzForex will destroy, erase, or make anonymous your personal information when it is no longer needed as referred to in paragraph.
5.3 OzForex will take reasonable steps in the circumstances to ensure that your personal information is accurate, complete, and up-to-date, to minimise the possibility that inappropriate information may be used to make a decision about you.
5.4 OzForex will not routinely update your personal information, unless such a process is necessary to fulfil the purposes for which the information is collected, used or disclosed. If you are a client of OzForex, in accordance with your Client Agreement, you must notify OzForex as soon as possible if any of the information you have provided to OzForex has changed.
5.5 OzForex will take reasonable steps to maintain the security of your personal information. OzForex has in place a range of security safeguards to protect your personal information against loss or theft, as well as unauthorized access, disclosure, copying, use, or modification, regardless of the format in which it is held.
OzForex ensures that its staff are aware of the importance of maintaining the confidentiality of personal information.
6.1 You may request access to any personal information (including credit information) that OzForex holds about you at any time by contacting OzForex (contact details below). Where OzForex holds personal information that you are entitled to access, OzForex will within a reasonable period of your request (and always within 30 days of any such request) allow you access to that information. The requested information shall be provided or made available in the manner requested by you, if it is reasonable and practicable to do so, or otherwise in a suitable form such as by mailing or emailing it to you.
6.2 Where you request access to credit information, in order to ensure that you have access to the most up to date information, you should additionally request from the credit reporting bodies identified in paragraph 4.1(e) above access to the credit reporting information held by them.
6.3 You may point out to OzForex that any personal information (including credit information) held by OzForex is inaccurate, out of date, incomplete, irrelevant or misleading, and request correction of the information. OzForex will take appropriate action to amend the information as required, give you notice of any correction and, if requested take reasonable steps to, or if required by the Act, notify any third party to whom the information has been disclosed of the correction. If OzForex does not agree that there are grounds for amendment of your information, then it will set out the reasons for its decision in writing and the mechanisms available to complain about the refusal, and upon request by you it will add a note to the personal information stating that you disagree with it.
6.5 If OzForex decides that it cannot grant you access to your personal information, or grant access in the manner requested by you, it will set out the reasons for its decision in writing and the mechanisms available to complain about the refusal.
7.1 OzForex takes all complaints seriously, and will investigate all complaints. For details of how OzForex deals with complaints generally, please refer to OzForex's Complaints Policy, available at http://www.ozforex.com.au/about-us/legal/complaints-policy.
7.2 If you believe there has been a breach of the Australian Privacy Principles, or if you have any other concerns about OzForex's handling of your personal information, please speak to your usual contact at OzForex in the first instance. OzForex staff will be pleased to help and complaints can often be resolved at this early stage. If your concerns cannot be resolved at the first point of contact, the matter should be referred to OzForex's Compliance Officer (contact details below). At this stage, OzForex will ask you to set out your complaint in writing providing as much detail as you can so that OzForex's Compliance Officer can fully investigate your complaint. OzForex will then contact you with the results of its findings. You should allow up to thirty days from the time of your initial complaint, or such longer period as may be agreed to by you, to receive a response.
7.3 Please contact the Client Support Services Department on +1300 300 424 or +61 2 8667 8090 for further information as to how complaints are handled by OzForex internally.
If you have any questions or concerns about this Policy or the collection, use or handling of your personal information, you may contact the OzForex Compliance Officer on +612 8667 8090 or at compliance@travelex.ozforex.com.au.
10.1 The credit reporting bodies referred to in paragraph 4.1(e) above may include your personal information referred to in that paragraph in reports provided to other credit providers to assist them to assess your credit worthiness.
10.2 If you fail to meet your payment obligations in relation to the services OzForex provides to you, if you commit fraud or try to do so, or if you otherwise commit a serious credit infringement, OzForex may disclose this information to those credit reporting bodies.
10.3 OzForex's credit reporting policy is incorporated in this general Policy. You may obtain a copy of the credit reporting bodies' credit reporting policies by contacting them using the contact details set out in paragraph 4.1(e) above.
10.4 You have a right to access the credit related information that OzForex holds about you, to correct that credit related information and to make a complaint about OzForex's handling of your credit related information, as set out in clauses 6 and 7 of this Policy.
10.5 You also have a right to request that credit reporting bodies do not use credit related information held by them for the purposes of pre-screening of any direct marketing by credit providers. If you would like to make such a request, please contact the credit reporting bodies using the contact details set out in paragraph 4.1(e) above.
10.6 If you believe that you have been a victim of fraud, you have a right to contact the credit reporting bodies and ask them not to use or disclose your credit related information. If you would like to make such a request, please contact the credit reporting bodies using the contact details set out in paragraph 4.1(e) above.


Souvenir Fridge Magnets for Gift Shops, Boutiques or Sellers with Best Prices!
Highest quality, digital tin plate fridge magnets for your gift shops or boutiques that will impress you and your customers with their incredible pictures! Photo on magnets have been a great gift for years and years and it is hard to find a good quality with different sizes. Now, SAM Fridge Magnet produces them for you. Best photos from your country or any tourism related area that you like will be printed on panoramic, square or rectangular magnets and sent to you in one week! Check our catalogue here or send us your photographs for highest quality souvenir photo magnets and best prices!
You can give small orders from 2.500 or more depending on your needs. Unlike other producers, small amounts are just as important for us as higher amounts due to our customer satisfaction principles. Your orders (up to 5.000 pieces) will be produced and shipped to you in only one week! For higher amounts please contact us for a precise shipment time and price information.
With SAM Tin Plate Souvenir Fridge Magnets Forget about Inventory Costs!
Do not invest in a storage area, your order will be at your door in a very short period of time! Please contact us about the delivery time since it depends on the amount of your order.
For orders of 5.000 pieces and more, we give you the option to choose 16 different pictures to be printed on your magnetic gifts. For orders of 2.500 pieces, 8 pictures can be chosen from our catalogue or photos of your own. For orders more than 20.000 pieces, please contact us for more options.
Your souvenir metal fridge magnets can be prepared as panoramic, square or rectangular shapes or the mix of all depending on your needs. This selection is available for every order, from 2.500 pieces or more. For the details of these three sizes, please check our Products page. For better offers please check our Prices page.
Your Pictures on Magnets ONLY for You!
It is always bothering to see the photographs you took and send to the magnet producers, in other gift shops or sellers. With us, you will never have to worry about seeing your special photo shoots prepared for someone else. We respect the effort and artistics you put in your pictures and promise not to use them for anybody! Also buying from outside of your market and using your own photo shoots guarantees that you will make a difference between your competitors.
Exciting news about our photo galery!
Thanks to our new business partner Big Stock, we now can provide even a broader gallery for our customers! Besides from our gallery, you can select pictures from www.bigstockphoto.com and all you have to do is to send us the code. We will transfrom your favorite pictures from Big Stock into our highest quality fridge magnets!


South Korea plans to deport a Korean-American woman accused of praising rival North Korea in a recent lecture, officials said Friday.
The Korea Immigration Service decided to deport Shin Eun-mi, a California resident, after determining that her comments violated South Korea's Security Law, agency official Kim Du-yeol said. He declined to say when she would be deported, AP reported.
During a November lecture in Seoul, Shin said many North Korean defectors living in South Korea had told her they want to go back home and that North Koreans hope new leader Kim Jong Un will bring change.
Shin has said she had no intention of praising the country and was only expressing what she felt during her travels there. In South Korea, praising North Korea can be punished by up to seven years in prison under the Security Law. Critics have urged that the law be scrapped, saying it violates freedom of expression.
Conservatives have sided with government moves to expel Shin, accusing her of ignoring North Korea's human rights conditions. But her impending deportation drew sharp criticism from liberals who say the conservative government of President Park Geun-hye is clamping down on freedom of speech.


text:
Competitive Exam Strategies
Study Abroad / Scholarships
Home	Latest Articles	Cost of studying in Canada
Latest ArticlesStudy Abroad
Cost of studying in Canada
by Chetna Vasishth November 5, 2018
written by Chetna Vasishth November 5, 2018
Canada consistently ranks within the top 10 of the United Nations' list of the "best places to live in the world" – and According to The QS World Ranking it is also arguably one of the best places to study. And has become increasingly welcoming of international students in the recent times.
In this article we will talk about the costs of studying in Canada for international students under the following heads
Undergraduate tuition fee and Graduate Tuition Fee broken down
For different Fields of study
Across major provinces in Canada
Lowest Cost Universities in Canada and Average tuition fee of the top ranked universities
Comparison of Costs with USA, UK, Australia, New Zealand and Singapore
One distinctive element of higher education in Canada in that each of the 10 provinces is responsible for its own education system, rather than the Canadian government as a whole. This means the system can vary, depending on which province you choose to study in.
Just as a note, typically, Undergraduate degrees in Canada can take either three or four years to complete, depending on the university.
Postgraduate degrees last between one and three years, depending on the type of degree.
Undergraduate tuition fees in Canada
The average tuition fees for international students in 2017/18 was CA$25,000 = Rs. 14,00,000) per year. Looking at the subject wise break up of tuition fee per year – (all figures are in Canadian Dollars). Looking at a subject wise break up –
Humanities, Arts, Social sciences, agriculture – CAD 22,000 to CAD 26,000
Architecture – CAD 25,000
Law – CAD 30,000
Physical sciences, computer science, math, engineering – CAD 30,000
Business administration – CAD 26,000
Postgraduate tuition fees in Canada
The tuition fees for grad school is generally lower, the average for 2017/18 is CA$16,000 = Rs. 9,00,000)
Looking at the subject wise break up of tuition fee per year – (all figures are in Canadian Dollars)
Physical sciences, computer science, math, engineering – CAD 15,000 – 18,000
Regular MBA – CAD 40,000
Executive MBA – CAD 60,000
Medicine, Pharmacy, Dentistry, Veterinary Medicine – CAD10,000 to CAD 21,000
As is the case worldwide, executive MBA programs are generally the most expensive. For example, enrolling in the Kellogg-Schulich Executive MBA at the Schulich School of Business in Toronto will set you back $115,000 for an 18-month course.
An Executive MBA (EMBA) is a fully-fledged MBA degree, but geared towards working professionals who prefer not to enroll in full-time classes. As this is a part-time degree, the average program can last up to 24 months.
As regards medicine, not all faculties of medicine accept applications from foreign students and it is highly competitive and extremely difficult for international students to secure admission to a medical school in Canada. However, scholarships are generous and once you secure admission it will be very affordable. Most often you are required to return to your home country after completion of the program.
Region wise Data
The three top universities in Canada are McGill University in Montreal (Quebec), University of Toronto in Ontario and University of British Columbia in Vancouver. Incidentally, these are also the most popular student destinations
Looking at the average costs of undergrad and grad tuitions in these regions
Ontario is the most expensive with
average undergrad tuition fee of 35,000 per year and
average grad school tuition fee of 22,000.
Quebec –
The lowest cost province in Canada is New Foundland and Labrador with
average grad school tuition fee of 4,000.
Cost of living in Canada
Although Canadian student visa requirements say you must have at least CA$10,000 (or CA$11,000 if studying in Quebec) on top of your tuition fees, you'll likely need to budget much more than this for your living expenses. Your living costs will vary considerably depending on your location and spending habits, with large cities generally more expensive to live in.
Estimates of living expenses in Montreal are about of CA$15,000 per year including housing, food, accommodation, books and course supplies, phone costs and miscellaneous expenses.
Similarly, the University of British Columbia, located in Vancouver, estimates living costs of CA$15,500 per year, not including mandatory health insurance, which is CA$864 per year under the BC Health Plan. (Vancouver has been named the most expensive Canadian city to live in, particularly in terms of rent.)
It's also a good idea to budget for extra costs, such as warm winter clothing if you don't already have any.
Student visa and application fees
To study in Canada, you will need to obtain a Canadian study permit, which serves as a student visa for the duration of your stay. Visa application costs are about CA$150
Fees to apply to universities in Canada will vary and is approx. CAD 100- 120. You may be able to get this fee waived if you are an international student from a developing country.
So looking at overall costs (working on the average numbers)
Most affordable universities in Canada
Tuition fee between $5,000 and $12,000
Brandon University
Universite de Saint-Bonaface
Canadian Menno-night University
Memorial University Of Newfoundland
Southern Alberta Institute of Technology
The Kings University College
Saint Paul University
Universite' Saint- Anne
The University of Winnipeg
Concordia University of Edmonton
Tuition fees at top-ranked universities
Here is a list of average tuition fees at the top-ranked Canadian universities:
University of Toronto – 30 – 45
University of British Columbia –36-49.
McGill University – 16-45
Assuming 5 applications Rs. 33,000
Broad comparison with USA, UK, Australia and New Zealand undergraduate programs
Chetna Vasishth
Founder of ChetChat, India's largest online talk show in the career and education space with over 180 videos, covering global universities and several career and entrepreneur success stories.
Cost of studying in USA
Full Scholarship in USA, UK, Europe
Top 10 Free Study Apps For Students (Not...
How to Develop an Attractive Personality | 7...
5 Best ways to improve concentration when parents...
Active and Passive Voice Tricks – 3 Golden...
5 Secret Study methods of Toppers
A Perfect Time table for Online Classes
Top 10 Best Free Apps for Students
10 BEST Daily English Conversation Starters Compliment Sentences...
How To Avoid Sleep While Studying Whole Night...
6 Proven Ways to Increase Your Brain Power
ChetChat is proudly powered by WordPress


Anathemancer - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) bor..
Ancient Ziggurat - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) ..
Bloodbraid Elf - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) b..
Cloudpost - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) borda:..
Elvish Visionary - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) ..
Gatekeeper of Malakir - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (..
Ghostly Prison - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) b..
Krosan Grip - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) bord..
Qasali Pridemage - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) ..
Rift Bolt - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) borda:..
Tidehollow Sculler - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10..
Wild Nacatl - carta avulsa original Magic the Gathering Coleção: Friday Night Magic 2010 (f10) bord..


Gulf Breeze Recovery has attracted people from different parts of the country seeking an alternative form of addiction treatment. Usually these are individuals who are in need of help for their substance abuse problems, but recently it was a husband and wife team of filmmakers from the UK.
Rudi and Jenny Kennard are the founders of the Innate Wellbeing center in the Essex and also acclaimed filmmakers who have documented successes using the simplified form of psychology used at Gulf Breeze Recovery.
The Kennards recently connected with Gulf Breeze Recovery staff in Minneapolis, MN for a conference and decided they had to travel to Florida to see the facility for themselves.
The Kennards display most of their work at www.ThreePrinciplesMovies.com, which shows various applications of the approach utilized at the Florida drug rehab facility.
Barnett and his staff are dedicated to helping people recover from substance abuse and related mental health issues by restoring innate health. The Thrive Total Health Recovery program used at Gulf Breeze Recovery uses a holistic approach found exclusively at their facility.


text:
Automotive & VehiclesUsed Car Dealer
A History of Junk Yards
By Roadrunner Recycling
Junk yards have been around for a long time, but they have changed a lot over the decades they have been in operation. When you visit the San Marcos, TX, car recycling yard at Roadrunner Recycling today, you'll have a much different experience than what you may have expected at a junk yard in the 1950s. Below, the experts outline the history of the scrap industry that led to the advent of modern recycling centers.
When the Industrial Revolution occurred in 1760, the metal used to develop machinery became a vital component of industry. Businesses realized that they could save on building new machines by breaking down older machines and recycling their parts. During World War I, scrapyards really started to boom. They were used to feed the war machine that was so hungry for metal and machinery, and they continued to see heavy use through World War II as well.
As the military's use of scrap metals slowed, consumers realized they could take on the benefits of these salvage yards as well. They sold off their old cars to the yards and perused them for parts they needed. By the 1950s, these yards were full of old vehicles and an incredible array of parts to serve any need. However, the metal salvage yards still operated informally, where only vehicle-restoring enthusiasts and contractors had the knowledge needed to take advantage of them. But for those who knew enough to find the part they needed, there were fantastic deals to be had.
Now, junk yards are much more organized and well-regulated. Yards can keep an accounting of what they have on hand and make it easy for consumers to find a part they need. They can provide accurate estimates for your recyclables, from insulated wire to used vehicles.
Whether you have cars to sell or you want to bring in other recyclables, contact the Roadrunner Recycling at (512) 353-4511. They can pay up to $10,000 for your wrecked vehicle and offer more competitive metal recycling prices than any junk yard nearby.
Roadrunner Recycling
16380 N State Hwy 123, San Marcos, TX 78666
Get alerts on offers and news from Roadrunner Recycling


Lowell Weicker (Op-Ed, Oct. 6)argues that censure of President Clinton would have ''no constitutional basis.'' One could also then say that criminal prosecutions should never end in a plea bargain or that malpractice suits should not be voluntarily settled because the law provides no terms for such agreements.
If the decision makers, including the American people, conclude that some punishment is morally warranted but impeachment is not, there is no reason to bar some appropriate middle ground.


text:
// $Id: Dump_Restore.cpp 91671 2010-09-08 18:39:23Z johnnyw $

#include "ace/Malloc_Base.h"
#include "ace/Read_Buffer.h"
#include "ace/Thread_Manager.h"

// FUZZ: disable check_for_streams_include
#include "ace/streams.h"  /* Because dump () uses ofstream. */

#include "Dump_Restore.h"
#include "ace/OS_NS_signal.h"
#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_unistd.h"

Dump_Restore::Dump_Restore (int argc, ACE_TCHAR *argv[])
  : infile_ (0)
{
  ACE_NEW (this->ns_context_,
           ACE_Naming_Context);

  // Cache the name options
  this->name_options_ = this->ns_context_->name_options ();
  this->name_options_->parse_args (argc, argv);

  //determine name context
  if (ACE_OS::strcmp (this->name_options_->nameserver_host (),
                      ACE_TEXT ("localhost")) == 0)
    {
      if (ns_context_->open (ACE_Naming_Context::PROC_LOCAL) == -1)
        ACE_ERROR ((LM_ERROR,
                    ACE_TEXT ("%p\n"),
                    ACE_TEXT ("ns_context_->open")));
    }
  else
    {
      // Don't really need to do this but it's a hack to fix the
      // problme of Display () not printing the right hostname
      ACE_OS::strcpy (this->hostname_,
                      this->name_options_->nameserver_host ());
      this->port_ =
        this->name_options_->nameserver_port ();

      if (this->ns_context_->open (ACE_Naming_Context::NET_LOCAL) == -1)
        ACE_ERROR ((LM_ERROR,
                    ACE_TEXT ("%p\n"),
                    ACE_TEXT ("ns_context_->open")));
    }

  this->display_menu ();

  if (ACE_Event_Handler::register_stdin_handler (this,
                                                 ACE_Reactor::instance (),
                                                 ACE_Thread_Manager::instance ()) == -1)
    ACE_ERROR ((LM_ERROR,
                ACE_TEXT ("%p\n"),
                ACE_TEXT ("register_stdin_handler")));
}

Dump_Restore::~Dump_Restore (void)
{
  // Deregister this handler with the ACE_Reactor.
  ACE_Reactor::instance ()->remove_handler
    (ACE_STDIN,
     ACE_Event_Handler::DONT_CALL | ACE_Event_Handler::READ_MASK);

  ACE_OS::fclose (this->infile_);
}

int
Dump_Restore::handle_input (ACE_HANDLE)
{
  char option[BUFSIZ];
  char buf1[BUFSIZ];
  u_short port;

  if (::scanf ("%s", option) <= 0)
    {
      ACE_DEBUG ((LM_ERROR,
                  ACE_TEXT ("try again\n")));
      return 0;
    }

  switch (option[0])
    {
    case 'P' :
    case 'p' :
      set_proc_local ();
      break;
    case 'N' :
    case 'n' :
      set_node_local ();
      break;
    case 'H' :
    case 'h' :
      if (::scanf ("%s %hu", buf1, &port) <= 0)
        break;
      set_host (ACE_TEXT_CHAR_TO_TCHAR (buf1), port);
      break;
    case 'F':
    case 'f':
      if (::scanf ("%s", filename_) <= 0)
        break;
      if (this->infile_)
        ACE_OS::fclose (this->infile_);
      this->infile_ = ACE_OS::fopen(filename_, ACE_TEXT("r"));
      break;
    case 'B' :
    case 'b' :
      populate (Dump_Restore::BIND);
      break;
    case 'U' :
    case 'u' :
      populate (Dump_Restore::UNBIND);
      break;
    case 'R' :
    case 'r' :
      populate (Dump_Restore::REBIND);
      break;
    case 'D':
    case 'd':
      if (::scanf ("%s", dump_filename_) <= 0)
        break;
      this->dump ();
      break;
    case 'Q' :
    case 'q' :
      quit ();
      break;
    default :
      ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Unrecognized command.\n")));
    }

  display_menu ();
  return 0;
}

void
Dump_Restore::display_menu (void)
{
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("Name Service Main Menu\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("----------------------\n")));

  // Check if using local name space or remote name space
  if (ACE_OS::strcmp (this->name_options_->nameserver_host (),
                      ACE_TEXT ("localhost")) == 0)
    {
      if (this->ns_scope_ == ACE_Naming_Context::PROC_LOCAL)
        ACE_DEBUG ((LM_DEBUG,
                    ACE_TEXT ("  *** Using Process Local Database ***\n\n")));
      else
        ACE_DEBUG ((LM_DEBUG,
                    ACE_TEXT ("  *** Using Node Local Database ***\n\n")));
    }
  else
    {
      ACE_DEBUG ((LM_DEBUG,
                  ACE_TEXT ("  Hostname: %s\n"),
                  this->hostname_));
      ACE_DEBUG ((LM_DEBUG,
                  ACE_TEXT ("  Port Number: %d\n"),
                  this->port_));
    }

  if (this->infile_)
    ACE_DEBUG ((LM_DEBUG,
                ACE_TEXT ("Input File: %C\n"),
                this->filename_));
  else
    ACE_DEBUG ((LM_DEBUG,
                ACE_TEXT ("** No Input File Specified **\n")));

  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<P> Use Process Local Database\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<N> Use Node Local Database\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<H> Set Remote Name server <host> and <port>\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<F> Set Input File <file name>\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<B> Bind\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<U> Unbind\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<R> Rebind\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<D> Dump <file name>\n")));
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("<Q> or ^C (exit)\n")));
}

int
Dump_Restore::set_proc_local (void)
{
  // Set Name Options
  this->name_options_->nameserver_host (ACE_TEXT ("localhost"));
  this->name_options_->nameserver_port (0);

  // Set Naming Context scope
  this->ns_scope_ =
    ACE_Naming_Context::PROC_LOCAL;

  // Remove old naming context
  delete this->ns_context_;

  // Create new Naming Context
  ACE_NEW_RETURN (this->ns_context_,
                  ACE_Naming_Context,
                  -1);

  if (this->ns_context_->open (ACE_Naming_Context::PROC_LOCAL) == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("ns_context_->open")),
                      -1);

  return 0;
}

int
Dump_Restore::set_node_local (void)
{
  // Set Name Options
  this->name_options_->nameserver_host (ACE_TEXT ("localhost"));
  this->name_options_->nameserver_port (0);

  // Set Naming Context scope
  this->ns_scope_ = ACE_Naming_Context::NODE_LOCAL;

  // Remove old naming context
  delete this->ns_context_;

  // Create new Naming Context
  ACE_NEW_RETURN (this->ns_context_,
                  ACE_Naming_Context,
                  -1);

  if (ns_context_->open (ACE_Naming_Context::NODE_LOCAL) == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("ns_context_->open")),
                      -1);
  return 0;
}

int
Dump_Restore::set_host (const ACE_TCHAR *hostname,
                        int port)
{
  // Set Name Options
  this->name_options_->nameserver_host (hostname);
  this->name_options_->nameserver_port (port);

  // Don't really need to do this but it's a hack to fix the problme
  // of Display () not printing the right hostname
  ACE_OS::strcpy (this->hostname_, hostname);
  this->port_ = port;
  this->ns_scope_ = ACE_Naming_Context::NET_LOCAL;

  // remove old naming context
  delete this->ns_context_;

  // Create new Naming Context
  ACE_NEW_RETURN (this->ns_context_,
                  ACE_Naming_Context,
                  -1);

  // assume net_local context
  if (ns_context_->open (ACE_Naming_Context::NET_LOCAL) == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("ns_context_->open")),
                      -1);
  return 0;
}

int
Dump_Restore::doit (Dump_Restore::Operation_Type op,
                    const char *name,
                    const char *value,
                    const char *type)
{
  int result = -1;

  switch (op)
    {
    case Dump_Restore::BIND:
      {
        result = this->bind (name, value, type);
        break;
      }
    case Dump_Restore::UNBIND:
      {
        result = this->unbind (name);
        break;
      }
    case Dump_Restore::REBIND:
      {
        result = this->rebind (name, value, type);
        break;
      }
    }

  return result;
}

int
Dump_Restore::populate (Dump_Restore::Operation_Type op)
{
  if (this->infile_)
    {
      int result = -1;
      enum State { NAME, VALUE, TYPE };

      State state = NAME;
      // reset file pointer
      ACE_OS::rewind (this->infile_);

      ACE_Allocator *allocator =
        ACE_Allocator::instance ();
      ACE_Read_Buffer read_buffer (this->infile_,
                                   0,
                                   allocator);

      for (char *temp;
           (temp = read_buffer.read ('\n')) != 0;
           )
        {
          char *name = 0;
          const char *actual_name = 0;
          char *value = 0;
          const char *actual_value = 0;
          char *type = 0;
          const char *actual_type = 0;

          switch (state)
            {
            case NAME:
              name = temp;
              ACE_OS::strtok (name, "=");
              actual_name = ACE_OS::strtok (0, "=");
              state = VALUE;
              break;
            case VALUE:
              value = temp;
              ACE_OS::strtok (value, "=");
              actual_value = ACE_OS::strtok (0, "=");
              state = TYPE;
              break;
            case TYPE:
              type = temp;
              ACE_OS::strtok (type, "=");
              actual_type = ACE_OS::strtok (0, "=");

              if (actual_type)
                result = this->doit (op,
                                     actual_name,
                                     actual_value,
                                     actual_type);
              else
                result = this->doit (op,
                                     actual_name,
                                     actual_value);
              if (name)
                allocator->free(name);
              if (value)
                allocator->free(value);
              if (type)
                allocator->free(type);
              state = NAME;
              break;
            default:
              ACE_ERROR_RETURN ((LM_ERROR,
                                 ACE_TEXT ("%p\n"),
                                 ACE_TEXT ("populate")),
                                -1);
              /* NOTREACHED */
            }
        }

      return result;
    }
  else
    return -1;
}

int
Dump_Restore::bind (const char *key,
                    const char *value,
                    const char *type)
{
  int result = ns_context_->bind (key,
                                  value,
                                  type);
  if (result == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("ns_context_->bind")),
                      -1);
  else if (result == 1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%s%s%s\n"),
                       ACE_TEXT ("key <"),
                       key,
                       ACE_TEXT ("> already bound")),
                      1);
  return 0;
}

int
Dump_Restore::unbind (const char *key)
{
  int result = ns_context_->unbind (key);

  if (result == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("ns_context_->unbind")),
                      -1);
  return 0;
}

int
Dump_Restore::rebind (const char *key,
                      const char *value,
                      const char *type)
{
  if (ns_context_->rebind (key,
                           value,
                           type) == -1)
    ACE_ERROR_RETURN ((LM_ERROR,
                       ACE_TEXT ("%p\n"),
                       ACE_TEXT ("ns_context_->rebind")),
                      -1);
  return 0;
}

int
Dump_Restore::quit (void)
{
  return ACE_OS::kill (ACE_OS::getpid (), SIGINT);
}

void
Dump_Restore::dump (void)
{
  ofstream output_file (dump_filename_);

  ostream *orig_stream = ACE_Log_Msg::instance ()->msg_ostream ();
  ACE_Log_Msg::instance ()->msg_ostream (&output_file);
  ACE_Log_Msg::instance ()->clr_flags (ACE_Log_Msg::STDERR | ACE_Log_Msg::LOGGER );
  ACE_Log_Msg::instance ()->set_flags (ACE_Log_Msg::OSTREAM);

  ns_context_->dump ();

  ACE_Log_Msg::instance ()->msg_ostream (orig_stream);
  ACE_Log_Msg::instance ()->clr_flags (ACE_Log_Msg::STDERR);
}

redpajama_set_name: RedPajamaGithub


Up to one-fourth of all primary energy used in the U.S. is natural gas. Clearly it is an aspect of life that many if not most of people have grown accustomed to, yet few people seem to understand it any further than at the surface level. It is an efficient and environmentally friendly way to power and heat homes so it is really no wonder how natural gas remains so incredibly popular with citizens around the globe. On average, the regular American home uses up to 196 cubic feet of natural gas within a single day. With an estimated 5.4 million American businesses being powered by natural gas, the business is clearly booming. Yet, upon further inspection, very few people seem to be aware of how natural gas is regulated for both commercial and residential use.


It was recently reported that a driver in New York was pulled over for speeding in a school zone. Apparently, the woman was traveling over the 15-mph limit, but the exact speed her vehicle was traveling was not given in the report. An officer stopped the vehicle and apparently discovered that the woman was driving on a suspended license.
The suspensions had reportedly resulted from failure to pay a state-required fee after she was apparently convicted of other traffic offenses, including DUI. As a result, the woman was taken into custody on charges of speeding in a school zone, aggravated unlicensed operation and unlicensed operation of a motor vehicle. At the time of the report, the woman had been released from custody with a pending court date.
Speeding tickets and other traffic violations can have a serious impact on a person's driving abilities and other aspects of his or her life. The woman involved in this New York case may want to take the time to explore her legal options for defending against the allegations brought against her. Obtaining information from local legal resources may give her a better idea as to how to do create a meaningful defense.