Development of a tracking detector to study the 12C(,)16O ... Duarte-dottorato.pdfDeclaration of...
Transcript of Development of a tracking detector to study the 12C(,)16O ... Duarte-dottorato.pdfDeclaration of...
Universita degli Studi della Campania - LuigiVanvitelli
Doctoral Thesis
Development of a tracking detector tostudy the 12C(α,γ)16O reaction
Author:
Jeremias Garcia Duarte
Supervisor:
Prof. Lucio Gialanella
Doctor Europaeus Referees:
Prof. Shawn Bishop
Prof. Marialuisa Aliotta
Dottorato di Ricerca in Matematica, Fisica eapplicazioni - 31 ciclo
Settori scientifico-disciplinari MIUR: FIS/01 e FIS/04
A thesis submitted in fulfillment of the requirements
for the degree of Doctor of Philosophy in Physics
and Doctor Europaeus
in the
Dipartimento di Matematica e Fisica
April 2019
Contents
Contents
Declaration of Authorship iv
Abstract vi
Abstract in Italiano vii
Acknowledgements viii
1 Introduction - Stellar Evolution 3
1.1 Stellar nucleosynthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Hydrostatic Helium burning . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Cross section in the Gamow energy region . . . . . . . . . . . . . . . . . . 5
1.4 Experimental overview of 12C(α,γ)16O . . . . . . . . . . . . . . . . . . . . 6
1.5 Aim of this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Experimental Setup 10
2.1 CIRCE Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 The recoil mass separator ERNA . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Angular and energy distributions of 16O-recoils . . . . . . . . . . . . . . . 11
2.4 The 12C(α,γ)16O reaction mechanism . . . . . . . . . . . . . . . . . . . . 15
2.5 Angular distribution of γ-rays . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.1 Ground state transitions . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.2 Cascade transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Monte Carlo simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6.1 Ground state transitions . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6.2 Cascade transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6.3 The ∆E/E, θ16O correlation . . . . . . . . . . . . . . . . . . . . . . 25
2.6.4 Energy, angle correlation after ERNA transport . . . . . . . . . . . 26
2.6.5 The separation of E1 and E2 g.s. contributions . . . . . . . . . . . 27
2.6.6 The 12C leaky beam . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 Detector design 34
i
Contents ii
3.1 A single stage tracking detector: TPC-GEM . . . . . . . . . . . . . . . . . 34
3.2 Start 2D detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 Electron production . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2 Electron collection and transport . . . . . . . . . . . . . . . . . . . 38
3.2.2.1 Electron collection: Acceleration grid . . . . . . . . . . . 39
3.2.2.2 Electron collection: Acceleration rings . . . . . . . . . . . 42
3.2.2.3 Electron transport: Electrostatic mirror . . . . . . . . . . 42
3.2.2.4 Electron transport: Magnetic mirror . . . . . . . . . . . . 46
3.2.3 Electron detection: MCP with delay line anode (DLA) . . . . . . . 46
3.2.4 The detector final design . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.5 The construction process . . . . . . . . . . . . . . . . . . . . . . . 61
3.3 Stop 2D detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.3.1 The position sensitive parallel wire plane . . . . . . . . . . . . . . 65
3.3.2 Detector construction . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4 Electronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4.1 Signal processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 Data Taking and Analysis 72
4.1 ERNA alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2 ERNA mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2.1 Undeflected beam mapping . . . . . . . . . . . . . . . . . . . . . . 75
4.2.2 ±30 mrad mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.3 SS6 and SS7 scan test . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.4 SS6 and SS7 scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.2.5 Experimental transport matrix . . . . . . . . . . . . . . . . . . . . 78
4.2.6 SS6 and SS7 scan - Energy shift . . . . . . . . . . . . . . . . . . . 81
4.3 Acceptances of ERNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.3.1 Deflection unit calibration . . . . . . . . . . . . . . . . . . . . . . . 82
4.3.2 Angular acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.3 Energy acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.3.4 Target effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.5 Tunings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4 MWPC characterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.5 CPD characterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.6 12C, 16O separation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5 Conclusions and Outlook 103
A erna.2.3.fox 105
B trackmir.cpp 148
C Technical drawings of the electrostatic mirror 153
D Technical drawings of the welding tools 166
E Technical drawings of the MWPC detector 171
Contents iii
F Preliminary tests of MWPC 176
F.1 Investigating the source of the noise . . . . . . . . . . . . . . . . . . . . . 177
G Numerical minimization 179
References 181
List of Figures 191
Declaration of Authorship
I, Jeremias Garcia Duarte, declare that this thesis entitled, ’Development of a track-
ing detector to study the 12C(α,γ)16O reaction’ and the work presented in it are my
own. I confirm that:
This work was done mainly while in candidature for a PhD degree at the University
of Campania - Luigi Vanvitelli.
Where any part of this thesis has previously been submitted for a degree or any
other qualification at this University or any other institution, this has been clearly
stated.
Where I have consulted the published work of others, this is always clearly at-
tributed.
Where I have quoted from the work of others, the source is always given. With
the exception of such quotations, this thesis is entirely my own work.
I have acknowledged all main sources of help.
Where the thesis is based on work done by myself jointly with others, I have made
clear exactly what was done by others and what I have contributed myself.
Signed:
Date:
iv
“If all this is true, stars have a life cycle much like animals. They get born, they grow,
they go through a definite internal development, and finally they die, to give back the
material of which they are made so that new stars may live.”
Hans Albrecht Bethe, Nobel Lecture, 1967
“My major theme has been that all of the heavy elements from carbon to uranium have
been synthesized in stars. Let me remind you that your bodies consist for the most part
of these heavy elements. Apart from hydrogen you are 65 percent oxygen and 18 percent
carbon with smaller percentages of nitrogen, sodium, magnesium, phosphorus, sulfur,
chlorine, potassium, and traces of still heavier elements. Thus it is possible to say that
you and your neighbor and I, each one of us and all of us, are truly and literally a little
bit of stardust.”
William Alfred Fowler, Nobel Lecture, 1983
UNIVERSITA DEGLI STUDI DELLA CAMPANIA - LUIGI VANVITELLI
Abstract
Dipartimento di Matematica e Fisica
Doctor of Philosophy in Physics
Development of a tracking detector to study the 12C(α,γ)16O reaction
by Jeremias Garcia Duarte
12C+4He is of utmost importance in stellar evolution and nucleosynthesis. As a conse-
quence, many efforts were done in the last decades to determine its stellar rate, that in
spite of the remarkable progress, is not yet known with the precision required to com-
pare the predictions of stellar models to observations. In 2005 the ERNA collaboration
published the results of a measurement exploring, for the first time, the direct detection
of the 16O recoils using a mass separator. This measurement showed the potentiality of
this approach, whereas the usefulness of the results was limited by the lack of informa-
tion on the reaction mechanism and the impossibility to reach an energy lower than Ecm
= 1.9 MeV. The aim of my work is to develop a new tracking detector and investigate
the specifications of an improved design of ERNA, for a new experimental campaign on
12C+4He. In view of that, the angular and energy acceptances of the separator were
measured and found to fulfill the required features for the 12C(α,γ)16O measurement. I
concluded that the E1 and E2 components can be separated using the time-of-flight, and
that the 12C leaky beam can be suppressed using the position information. A complex
tracking detector capable of measuring the time-of-flight was designed, built and com-
missioned, however it is not yet fully operational. Three issues still have to be solved,
the first is related to the spurious events observed in the channel plate detector. They
most likely come from pre-trigger signals that can be avoided with a better threshold ad-
justment. The second issue is related to the induced signals in the cables of the MWPC
delay line. They most likely come from the anode and can be avoided by replacing the
cables inside the ionization chamber by coaxial ones capable to support high voltages.
The third issue regards the low intense signals from the MWPC delay lines. The solu-
tion I present is to change the configuration of the MWPC stack separating the anode,
x delay line grid and y delay line grid by cathodes with individual voltage control.
UNIVERSITA DEGLI STUDI DELLA CAMPANIA - LUIGI VANVITELLI
Abstract in ItalianoDipartimento di Matematica e Fisica
Dottorato di Ricerca in Fisica
Sviluppo di un rivelatore di tracce per lo studio della reazione 12C(α,γ)16O
by Jeremias Garcia Duarte
12C+4He e della massima importanza nell’evoluzione stellare e nella nucleosintesi. Di
conseguenza, negli ultimi decenni sono stati fatti molti sforzi per determinare il suo tasso
stellare, che nonostante i notevoli progressi, non e ancora noto con la precisione richiesta
per confrontare le previsioni dei modelli stellari con le osservazioni. Nel 2005 la collabo-
razione ERNA ha pubblicato i risultati di una misura esplorando, per la prima volta, il
rilevamento diretto dei rinculi da 16O utilizzando un separatore di massa. Questa misura
ha mostrato la potenzialita di questo approccio, mentre l’utilita dei risultati e stata lim-
itata dalla mancanza di informazioni sul meccanismo di reazione e dall’impossibilita di
raggiungere un’energia inferiore a Ecm = 1.9 MeV. Lo scopo del mio lavoro e svilup-
pare un nuovo rilevatore di traccia e indagare le specifiche di un design migliorato di
ERNA, per una nuova campagna sperimentale su 12C+4He. In considerazione di cio,
le accettanze angolari ed energetiche del separatore sono state misurate e trovate per
soddisfare le caratteristiche richieste per la misurazione di 12C(α,γ)16O. Ho concluso
che i componenti E1 ed E2 possono essere separati utilizzando il tempo di volo, e che il
leaky beam di 12C puo essere soppresso usando le informazioni sulla posizione. E stato
progettato, costruito e commissionato un rilevatore di traccia complesso in grado di
misurare il tempo di volo, tuttavia non e ancora pienamente operativo. E composto da
due rilevatori di piano focale, uno channel plate detector e uno multiwire proportional
counter. Tre problemi devono ancora essere risolti, il primo e legato agli eventi spuri
osservati nel channel plate detector. Molto probabilmente provengono da segnali di pre-
trigger che possono essere evitati con una migliore regolazione della soglia. Il secondo
problema e legato ai segnali indotti nei cavi della linea di ritardo del multi-wire propor-
tional counter (MWPC). Molto probabilmente provengono dall’anodo e possono essere
evitati sostituendo i cavi all’interno della camera di ionizzazione con quelli coassiali in
grado di supportare alte tensioni. La terza questione riguarda i segnali a bassa intensita
delle linee di ritardo MWPC. La soluzione che presento e quella di modificare la configu-
razione dello stack MWPC separando l’anodo, la griglia della linea di ritardo orizzontale
e la griglia della linea di ritardo verticale mediante catodi con controllo individuale della
tensione.
Acknowledgements
Firstly, I would like to express my sincere gratitude to my advisor Prof. Lucio Gialanella
for proposing the PhD theme, for the continuous support of my Ph.D. study, for his
patience, motivation, and incredible ability to identify priorities and to have a broader
view of things.
I would like to thank Prof. Antonino Di Leva for his help on ROOT analysis, beam
optics and detector design, and Prof. Mauro Romoli for his help on detector design and
electronics.
I would like to particularly thank my labmate Dr. Raffaele Buompane for his immense
support with accelerator handling during beamtime and valuable discussions helping me
solving different issues throughout beamtimes and data analysis.
My sincere thanks also goes to Prof. Filippo Terrasi for his great experience and knowl-
edge, Dr. David Rapagnani for his help on the deflection unit and valuable discussions
about data analysis, Dr. Lizeth Morales for her help on ROOT analysis and Giuseppe
Porzio for his help on LabVIEW routines and accelerator handling.
I also thank Alfonso Boiano, Antonio Vanzanella and Antonio Anastasio of the electron-
ics wokshop of INFN - Naples for their help on detector design and electronics issues,
Lorenzo Panico of the mechanical workshop of INFN - Naples for manufacturing the
electrostatic mirror and other components, Antonio Palmieri from the mechanical work-
shop of the University of Campania for his help on mechanical issues, and my friends
from the LUNA collaboration, Dr. Andreas Best and Dr. Gianlucca Imbriani for their
valuable advice and encouragement.
I thank my fellow labmates Riccardo Mancino, Eugenio Fasci, Hemanth Dinesan, Brunella
Di Rienzo, Fabio Marzaioli, Luisa Stellato, Isabella Passariello, Carmina Sirignano, An-
tonio Petraglia, Mauro Rubino, Egidio, Simona and Valerio Ricciardi for the stimulating
discussions, for the tennis table games, and for all the fun we have had in the last three
years.
I would like also to acknowledge the financial support from the University of Campania
and from the INFN - Naples.
Last but not the least, I would like to thank my family: my wife Ana who was always
by my side, my parents Paulo and Leila, who even faraway in Brazil supported me, and
my friends from the Christian Community of Caserta for friendship and for supporting
me throughout this season in Italy.
viii
To my lovely wife and daughters who make me love, enjoy and livelife with passion. To my parents who supported me from the
beginning. To my Father in heaven who loves me. . .
ix
Overview
12C+4He is of utmost importance in stellar evolution and nucleosynthesis. As a conse-
quence, many efforts were done in the last decades to determine its stellar rate, that in
spite of the remarkable progress, is not yet known with the precision required to com-
pare the predictions of stellar models to observations. In 2005 the ERNA collaboration
published the results of a measurement exploiting, for the first time, the direct detection
of the 16O recoils using a mass separator (Schurmann et al., 2005). This measurement
showed the potentiality of this approach, whereas the usefulness of the results was lim-
ited by the lack of information on the reaction mechanism and the impossibility to reach
an energy lower than Ecm = 1.9 MeV. The aim of my work is the development of a
new tracking detector and an investigation of the specifications of an improved design
of ERNA, in view of a new experimental campaign on 12C+4He.
In Chapter 1 I present a brief introduction to stellar evolution and nucleosynthesis to
discuss the key role of 12C+4He. The rest of the chapter is devoted to a review of
the experiments that investigated the 12C(α,γ)16O reaction at astrophysical energies,
focusing on those that used recoil mass separators. At the end I present a description
of the goals of this work.
In Chapter 2 I introduce in more details the 12C(α,γ)16O reaction mechanism, and
describe the reaction kinematics to explore the possible advantages of a tracking detector
in a measurement based on the detection of the 16O ions using a recoil mass separator,
and in the 12C leaky beam suppression.
In Chapter 3 I describe the development and production of the tracking detector, in-
cluding also the signal processing.
Chapter 4 covers the experimental activities connected with the study of the separator
optics and preliminary tests of the tracking detector. In this chapter I present the energy
and angular acceptances of the recoil mass separator measured at an intermediate energy
with an 16O beam.
1
Overview. General Introduction 2
Finally in Chapter 5 I present a short description of the achievements and outlooks
about remaining issues.
Seven Appendices are made available in the end containing the technical drawings and
codes developed throughout this work.
Chapter 1
Introduction - Stellar Evolution
1.1 Stellar nucleosynthesis
Over time various theories attempted to explain the origin of the elements. Some focused
on the primordial nucleosynthesis; in particular, Alpher, Bethe, and Gamow (1948) and
Alpher and Herman (1950) proposed a model in which all elements were formed by
neutron capture, a build-up process during the primordial neutron gas expansion in
the Big Bang. This idea was overthrown after the mass gaps of 5 and 8 discovery
(Tollestrup, Fowler, & Lauritsen, 1949). Finally, Burbidge, Burbidge, Fowler, and Hoyle
(1957), developing the pioneer works of Bethe (1938) and Hoyle (1946), established the
idea that heavier elements were synthesized in stars. Hans A. Bethe and William A.
Fowler following their contribution to nuclear astrophysics received the Nobel prizes in
Physics of 1976 and 1983 respectively.
Our present picture of stellar evolution is explained very well in text-books, e.g. C. E. Rolfs
and Rodney (1988) and Iliadis (2007): the life of a star begins when clouds of gas and
dust are pulled together by gravitational force, increasing their internal energy, and
hence temperature, at the cost of their gravitational potential energy. When a high
enough temperature is reached in the protostar core, reactions among the atomic nuclei
begin. The energy of the interacting particles is in the order of kT (Boltzmann constant
times temperature), that is much lower than the Coulomb barrier. Nuclear reactions
are possible at such low temperatures due to the quantum tunneling effect. The combi-
nation of energy dependence of the penetration factor and the energy distribution, that
is a Maxwell-Boltzmann distribution, of the interacting particles determine an effective
3
Chapter 1. Introduction - Stellar Evolution 4
energy region called Gamow window with a peak centered in the Gamow energy1. This
energy becomes increasingly high for heavier interacting particles. That is why hydrogen
is the first element to be burned, thus stopping the stellar contractions. When hydrogen
is exhausted in the core, the core starts contracting again, until helium burning takes
the baton and becomes the star’s main source of thermonuclear energy. When helium
burning is finished, if the mass is high enough, burnings of the subsequently heavier ele-
ments can take place, until nuclei in the Iron region, where the maximum binding energy
is achieved and therefore any further fusion reactions will be endoenergetic taking out
energy from the star. At that point there will be the final gravitational collapse leading
to a supernova explosion.
1.2 Hydrostatic Helium burning
When the hydrogen fuel in the stellar core is almost completely converted into 4He, the
stellar core starts to contract and if the core temperature reaches ' 108 K, the 3α process
ignites synthesizing 12C. It is a two step process: in the first step, a small concentration
of 8Be builds up as a result of the equilibrium abundance ratio caused by α+α 8Be
(Q = -91.84 keV). In the second step, the 8Be(α,γ)12C reaction (Q = 7366.59 keV) takes
place through a resonance corresponding to the so called Hoyle state (Ex ' 7.68 MeV)
in 12C (Dunbar, Pixley, Wenzel, & Whaling, 1953), building up 12C in the core2.
The stellar core becomes richer in 12C, until the reaction 12C(α,γ)16O (Q = 7161.9 keV)
ignites synthesizing 16O. At a typical temperature of T = 0.2 GK, the Gamow peak for
this reaction is located at E0 = 315 keV with a width of ∆ = 170 keV. The lowest lying
accessible state in 16O is the Jπ = 1− at Ex = 9.59 MeV, which corresponds to a broad
resonance in the 12C + α channel at Ecm = 2.42 MeV. Therefore, no resonance is located
in the Gamow window and 12C(α,γ)16O proceeds through nonresonant direct capture
and resonant capture into the low energy tail of the Ecm = 2.42 MeV resonance and into
the high energy tails of two subthreshold resonances corresponding to the states Jπ =
1− at Ex = 7.12 MeV and Jπ = 2+ at Ex = 6.92 MeV.
1The maximum of the Gamow peak is at E0 = 0.1220(Z2
0Z21M0M1M0+M1
T 29
)1/3
(MeV), where Zi and
Mi are the atomic and mass numbers of projectile and target, and T9 the stellar core temperaturein 109 K units. The Gamow peak may be approximated by a Gaussian function with a width ∆ =
0.2368(Z2
0Z21M0M1M0+M1
T 59
)1/6
(MeV).2It is important to point out that the mean free path of a nucleus in the star is extremely small
compared to the radius of the star, so the core of the star is composed of heavier elements not becausethey are heavy but because the temperature necessary to synthesize them can only be found in the coreand its vicinities. For the same reason one can say that the composition of the surface of a star is roughlythe same as its progenitor cloud.
Chapter 1. Introduction - Stellar Evolution 5
1.3 Cross section in the Gamow energy region
The 12C(α,γ)16O has an estimated cross section of ∼ 10−17 b at Ecm = 300 keV. Not
even with present state of the art experimental techniques is possible to measure this
cross section. As a consequence, the astrophysical cross section determination relies on
theoretical extrapolation performed with phenomenological models3, such as R-matrix
theory. In order to extrapolate the cross section data to the Gamow energy region,
Burbidge et al. (1957) introduced the nuclear cross section factor defined in eq. 1.1. It
was later called astrophysical S factor by C. Rolfs (1973) due to its astrophysics interest.
It removes the 1/E dependence of the nuclear cross section and also removes the energy
dependence of the transmission probability through the Coulomb barrier, represented
by the Gamow factor e−2πη. Far from resonances, S(E) is a slowly varying function of
E, which is the center-of-mass energy.
S(E) = σ(E)Ee2πη keV barns . (1.1)
From a theoretical point of view, the cross section is the sum of different contributions
that behave differently as a function of the energy and are calculated independently,
both from a cluster model prediction and from a phenomenological approach, as demon-
strate equations 28a and 28b of deBoer et al. (2017), used to calculate the radiative
capture. Therefore, the independent determination of each component to the cross sec-
tion provides a further constraint to phenomenological models. The main contributions
to the total cross section are the ground state (g.s.) transitions, that, depending on the
channel spin, proceed through E1 (l=1) or E2 (l=2) multipolarity.
As said before, the electric dipole (E1) capture transition into the 16O ground state can
proceed through two Jπ = 1− resonance tails, the one at Ecm = 2.42 MeV and Ecm =
-45 keV. Consequently, the total capture cross section is affected by interference effects
between these two resonances, that can be destructive or constructive with a maximum
where their amplitudes are of comparable magnitude. At the moment, despite the last
R-matrix calculations indicate a constructive interference, the destructive solution can
not still be ruled out (Schurmann, Gialanella, Kunz, & Strieder, 2012; deBoer et al.,
2017).
The electric quadrupole (E2) capture transition into the 16O ground state proceeds
through the tail of the Jπ = 2+ resonance at Ecm = -245 keV. This resonance interferes
with the Jπ = 2+ resonance at Ecm = 2.68 MeV, which is very narrow.
3There are also theory driven models, but in general are considered to be less reliable with respectto R-matrix.
Chapter 1. Introduction - Stellar Evolution 6
1.4 Experimental overview of 12C(α,γ)16O
Since 1955 the 12C(α,γ)16O reaction has been investigated at different energies for dif-
ferent purposes (Allan & Sarma, 1955; Bloom, Toppel, & Wilkinson, 1957; Meads &
McIldowie, 1960; Larson & Spear, 1964). It was only on 1970 that Jaszczak, Gib-
bons, and Macklin (1970) with an astrophysical motivation from Burbidge et al. (1957)
performed the first excitation curve measurement of the 1− resonance at Ecm = 2.481
MeV. The measurements were later extended to higher energies by Jaszczak and Macklin
(1970). Those experiments were performed in direct kinematics, i.e. with a helium beam
impinging a solid carbon target, and measuring the γ-rays produced. The main disad-
vantage of this technique is the background in the γ-ray detectors due to 13C(α,n)16O,
that has a cross section around 6 orders of magnitude larger than the 12C(α,γ)16O one.
As 13C is a stable isotope and its natural abundance is 1.109% compared with 98.93% of
12C, the rate using a natural carbon target for the reaction with 13C is around 4 orders
of magnitude greater than the one with 12C. The alternatives found to obtain purer
targets was first to produce 12C enriched targets by cracking methods (around 99.94%
12C) (Larson & Spear, 1964), and later, the 12C ion implantation in solid Gold backings,
reducing to ∼10−4 the 13C/12C ratio (Redder et al., 1987).
The first accurate low energy measurement of the 12C(α,γ)16O g.s. transition cross
section was performed by Dyer and Barnes (1974), where the interference between sub-
threshold and unbound 1− state was first observed. In the experiments performed by
Dyer and Barnes (1974), the neutron induced background from the 13C(α,n)16O reaction
was largely reduced with a time-of-flight (ToF) technique used previously by Adams,
Shapiro, Barnes, Adelberg, and Denny (1968), where the beam is bunched and each
bunch gives a time reference; in this way, the γ-rays coming from α-capture reactions on
target occur quickly after the time reference and γ-rays due to capture of neutrons in the
detector, or surrounding material, occur at later time, because the neutron has to slow
down to thermal energy before capture may happen with significant probability. For
the first time the E1 and E2 contribution were experimentally separated. The ratio of
E1 and E2 amplitudes |A2|/|A1| was determined through the angular distribution from
γ-ray detectors placed at 8 different angles from 0 to 180, and the E1 cross section
from the 90 yield measurements. Nevertheless the natural γ-ray background prevented
measurements at energies lower than Ecm = 1.41 MeV.
In order to avoid the large neutron induced γ-ray background due to the 13C(α,n)16O
contaminant reaction, Kettner et al. (1982) explored the inverse kinematics possibility,
obtaining excitation functions for the g.s. and cascade γ-ray transitions. However a
new series of complications were observed, one was related to the interpretation of the
Chapter 1. Introduction - Stellar Evolution 7
yield from the extended geometry gas target, and the other was the beam induced γ-ray
background due to the 12C+12C fusion reaction at Elab(12C) ≥ 10 MeV.
On 1988, despite twenty years of experimental and theoretical efforts the uncertainties on
the extrapolated astrophysical S-factor were still very large. At this point all previous
experiments had detected γ-rays alone, suffering from beam-induced, cosmic-ray, and
natural radioactivity backgrounds. For this reason Kremer et al. (1987) using a recoil
mass separator (RMS), for the first time measured the 16O-recoils in delayed coincidence
with the reaction γ-rays obtaining almost background-free spectra with the help of a
ToF system (Hahn, Chang, Donoghue, & Filippone, 1987). Their recoil separator was
composed by a quadrupole doublet right after an extended gas target, a velocity filter, a
quadrupole singlet, a 60 Dipole Magnet and a two stage time-E-∆E Ionization chamber
detector. Nevertheless different issues affected the measurements. In particular due to
the lack of angular and energy full acceptance of the recoil separator, it was not possible
to measure the E1/E2 cross section ratio independently.
Ten years later, a collaboration of the University of Bochum (Germany) and INFN
Naples started the development of a new recoil mass separator obtaining a better 12C-
beam suppression, and full angular and energy acceptance for the 16O-recoils. It is
called ERNA (European Recoil Separator for Nuclear Astrophysics); its commissioning
is described by Rogalla, Theis, et al. (1999); Rogalla, Aliotta, et al. (1999); Rogalla et al.
(2003); Gialanella et al. (2004); Schurmann et al. (2004). The first direct measurement
of the total cross-section of 12C(α,γ)16O is reported by Schurmann et al. (2005). The
goals of full acceptance and better beam suppression were achieved for the energy range
of Ecm = 1.9-4.9 MeV. Rogalla (2003); Gialanella et al. (2004) and Gialanella and
Schurmann (2011) report that at lower energies the 12C leaky and the 16O recoils merge
closely in the identification matrix of the telescope and a possible solution could be the
ToF identification technique which was not implemented at that time. They also report
that at low beam energies the 12C beam with charge states higher than the one selected
in the separator due to over focusing in the first magnetic triplet were hitting the plates
of the first velocity filter preventing its use, which caused a large increase in the charged
particle background. That led to the new design of the ERNA separator with a charge
selection magnet right after the target, that is discussed below.
In the same years a group at the TRIUMF-ISAC Radioactive Beams Laboratory in
Canada developed a new recoil separator with a longer inner gas target cell (∼11cm),
different elements and more complex design. It is called DRAGON, which stands for
Detector of Recoils And Gamma-rays Of Nuclear reactions, and its commissioning is
described by Hutcheon et al. (2003). The first measurement of the 12C(α,γ)16O cascade
transition via the first excited state of 16O (Jπ=0+ at 6.049 MeV) is reported by Matei
Chapter 1. Introduction - Stellar Evolution 8
et al. (2006). There it is reported an experimental acceptance of 82% ± 25% which was
one of the main reasons for the large uncertainty in the reported results. The authors
conclude by saying that: “better data with a separation of the E1 and E2 component
are most desirable”.
Later on, Schurmann et al. (2011) measured again the 6.05 MeV cascade transition.
This time, with the Tischhauser et al. (2009) experimental phase shifts available, a
more precise fit of E1/E2 cross section ratios were obtained from the analysis of the
γ-ray spectra based on a Geant4 simulation, ruling out the astrophysical relevance of
this transition and demonstrating again the power of the recoil separator approach.
Additional experimental information was obtained by Ouellet et al. (1992); Roters, Rolfs,
Strieder, and Trautvetter (1999); Gialanella et al. (2001); Kunz et al. (2001); Assuncao
et al. (2006). These experiments are not discussed here, for their reduced impact on
the present work. The current extrapolation of the data is based on a complex R-
matrix analysis, that takes into account not only the 12C(α,γ)16O total cross section
data and its different components but also 12C(α,α0)16O elastic scattering, 15N(p,γ0)16O
and 16N(βα)12C data to describe the level diagram of the 16O compound nucleus. The
last detailed R-matrix analyses were performed by Schurmann et al. (2012); Oulebsir
et al. (2011); An et al. (2015); deBoer et al. (2017). If we take their absolute value
for the S factor due to E1 and E2 g.s. transition contributions and calculate the mean
value of each contribution, we find an average deviation from the mean of 8% and 15%
respectively, and 23% from the mean value of the sum of all cascade contributions. The
mean value of the uncertainties for the total S factor is 17%. The spread on the S factor
components comes very likely from the different constrains adopted to choose the data
sets available in literature. As the g.s. contributions accounts for ∼96% of the total S
factor, the spread of the E2 component data is one of the main reasons for the still large
uncertainty of the total S factor extrapolation.
1.5 Aim of this work
As mentioned in the previous section, the E1 and E2 contributions are currently sepa-
rated with the analysis of the γ-ray angular distribution. Below Ecm = 2.68 MeV the E1
component dominates, making it more difficult to determine the E2 component. Both
components present interference patterns the determination of which strongly depends
on the Γα width of the two sub-threshold states at 6.92 MeV (Jπ = 2+) and 7.12 MeV
(Jπ = 1−). Those widths cannot be determined by γ measurements alone, but are based
on indirect measurements. Even though the reduced α width of the 7.12 MeV state is
considered to be well constrained, the E1 interference pattern is not, the destructive
Chapter 1. Introduction - Stellar Evolution 9
solution is still possible. In addition, the width of the 6.92 MeV state is still uncer-
tain making it difficult to constrain the E2 interference pattern. This results in a large
uncertainty in the E2 component.
The aim of the present work is to complete the upgrade of ERNA and commission
the new layout to extend the measurements down to Ecm = 1.0 MeV. This will be
accomplished through some partial objectives:
• Investigate the optics of the new layout of ERNA designed to extend the measure-
ments to lower energies;
• Investigate the possibility of getting a better E1 and E2 separation through a
tracking detector;
• Develop a fully operational focal plane detector with tracking.
Chapter 2
Experimental Setup
2.1 CIRCE Facility
The experiments were performed at the Center for Isotopic Research on Cultural and
Environmental Heritage (CIRCE) where an AMS system (Accelerator Mass Spectrom-
etry) was installed in 2005 and later on 2009 the European Recoil mass separator for
Nuclear Astrophysics (ERNA) was transfered from Bochum. The description of the
AMS system can be found in references (Terrasi et al., 2007; DeCesare et al., 2010;
DeCesare et al., 2015). A schematic layout of the CIRCE facility is shown in figure 2.1.
2.2 The recoil mass separator ERNA
The recoil mass separator ERNA was designed to measure the absolute cross section
of the key astrophysical reaction 12C(α,γ)16O, and later was used to measure the cross
section of other radiative capture nuclear reactions of astrophysical interest, such as
3He(α,γ)7Be (DiLeva, DeCesare, Schurmann, & et al., 2008 and DiLeva, 2009). It was
originally installed and commissioned at the Dynamitron Tandem Laboratorium of the
Ruhr-Universitat Bochum, Germany. A detailed description of the separator in its first
layout can be found in (Rogalla, 2003). In 2009 when it was moved to CIRCE, a charge
state selection magnet (CSSM) was added as reported by DiLeva et al. (2017) and
Buompane et al. (2018).
A schematic view of the present ERNA layout is shown in fig. 2.2. Also, a new supersonic
jet target was developed as reported by Rapagnani (2017); Rapagnani et al. (2017, 2018).
10
Chapter 2. Experimental Setup 11
S1S2
3MV Pelletron
Switching magnet
jet gas target
FC ADQD1
BM1
ESA1
BM2
ESA2
PSEQTEL
meters
0 1 2 3 4 5
ERNA
Figure 2.1: Layout of the CIRCE facility, where S1, S2, are the ion sources 1 and 2;ESA1, ESA2, electrostatic analyzers 1 and 2; BM1, BM2, bending magnets 1 and 2;EL, Einzel lens; EQT, electrostatic quadrupole triplet; PS, pos-stripper; DQD, double
quadrupole doublet; FC A, Faraday cup.
2.3 Angular and energy distributions of 16O-recoils
In order to investigate the possibility of getting a better E1 and E2 separation through
the tracking detector (see section 1.5) I will first derive the expressions for the angular
and energy distribution of the 16O recoils produced by the 12C(α,γ)16O reaction.
Figures 2.3 and 2.4 show a schematic illustration of the 12C(α,γ)16O reaction for g.s.
and cascade transitions respectively. The cascade transitions dominate the cross section
at energies higher than Ecm = 2.7 MeV. At lower energies their contribution appears
to decrease down to about 5% at stellar energy (deBoer et al., 2017). Its angular
Chapter 2. Experimental Setup 12
0 1 2 3 4 5
m e te rs
jet gas target CSSM
SS1
FC BMQT2
SS2FC C
WF1
SS3
SFC
FC D
magnet60° Dipole
SS5
SS4
MQD
WF2
SS6
MCP
SS7
FC E
ICT
VMS
MQS
Figure 2.2: Layout of the recoil mass separator ERNA, where CSSM stands for chargestate selection magnet; SS1, SS2, SS3, SS4, SS5, SS6 and SS7 for slit systems; FC B, FCC, FC D and FC E for farady cups; MQT2 for magnetic quadrupole triplet; WF1 andWF2 for wien filter; SFC for side Faraday cup; MQS for magnetic quadrupole singlet;VMS for vertical magnetic steerer; MQD for magnetic quadrupole doublet; MCP for
microchannel plate detector; ICT for ionization chamber.
Chapter 2. Experimental Setup 13
distribution is relatively complex to derive (see Chapter 2 of Morinaga and Yamazaki
(1976)): nevertheless a qualitative description will be given later in section 2.5.2.
Figure 2.3: Vector schematic illustration of the 12C(α,γ)16O reaction for g.s. transi-tions.
Figure 2.4: Vector schematic illustration of the 12C(α,γ)16O reaction for cascadetransitions.
We consider now the most intense contribution to the total cross section, i.e. g.s. tran-
sitions. Without considering external influences, the linear momentum is conserved,−→p 12C = −→p 16O+−→p γ , which is valid after the γ-ray emission. Therefore, considering also
the relativistic correction,
(2.1)γ12C
√2m12CE12C
lab z = γ16O
√2m16OE16O
lab [sin(θ16O)ρ+ cos(θ16O)z]
+E0γ
c[− sin(θγ)ρ+ cos(θγ)z]
where γ12C =(
1− 2E12Clab
m12Cc2
)−1/2and γ16O =
(1− 2E16O
labm16Oc2
)−1/2. The unitary vectors z,
ρ together with ϕ form the cylindrical coordinates orthogonal base, where the beam is
traveling in the +z direction.
Rearranging this relation one can return for simplicity to the following
p12C z = p16O [sin(θ16O)ρ+ cos(θ16O)z] +E0γ
c[− sin(θγ)ρ+ cos(θγ)z] (2.2)
for
p12C =
√2c2m2
12CE12Clab
c2m12C − 2E12Clab
(2.3)
p16O =
√2c2m2
16OE16Olab
c2m16O − 2E16Olab
(2.4)
Chapter 2. Experimental Setup 14
where E0γ is the energy of the γ-ray, E12Clab the energy of the 12C projectile in the
laboratory frame.
From the ρ component,
p16O =E0γ sin(θγ)
sin(θ16O)c(2.5)
and from the z component, substituting eq. 2.5,
p12C =E0γ sin(θγ)
tan(θ16O)c+E0γ
ccos(θγ) . (2.6)
Rearranging eq. 2.6, the angular correlation of the recoils to the emitted γ-rays is
obtained,
θ16O = arctan
(E0γ sin(θγ)
cp12C − E0γ cos(θγ)
)(2.7)
as a function of θγ and E12Clab , because
E0γ = E∗16O = Q12C+α + Ecm (2.8)
and
Ecm =m4He
m12C +m4HeE12C
lab . (2.9)
From eq. 2.4 and 2.5 one can also obtain the kinetic energy of the recoils,
E16Olab =
c2m16O(cp12C − E0γ cos(θγ))2
2c4m216O cos(θ16O) + 2(cp12C − E0γ cos(θγ))2
. (2.10)
The 16O energy dependence on the γ-ray emission angle is linked to the Doppler effect
connecting the center-of-mass to laboratory frequency of a moving source:
fγ =
(c
c+ vsource
)f0γ , (2.11)
where f0γ = E0γ/h and vsource is the 16O velocity component in the direction of the
γ-ray emission,
vsource = −
√2E16O
lab0
m16Ocos(θγ) . (2.12)
Before the γ-ray emission −→p 12C = −→p 16O, and therefore E16Olab0 =
(m12Cm16O
)E12C
lab . As a
consequence, the energy of the γ-ray detected can be written as
Eγ = E∗16O
(1−
√2m12CE12C
lab
m216Oc
cos(θγ)
)−1
. (2.13)
Chapter 2. Experimental Setup 15
It is worth noting that the interactions of projectile ions and recoils with the target were
not taken into account here. Their effects, i.e. angular and energy straggling, will be
considered later.
2.4 The 12C(α,γ)16O reaction mechanism
As said before, the 12C(α,γ)16O reaction at energies Ecm < 3.5 MeV can proceed through
non-resonant direct capture to the ground state and resonant capture into the tails
of nearby resonances and into narrow resonances. As explained by C. E. Rolfs and
Rodney (1988) and also discussed by deBoer et al. (2017), in the first case there is no
formation of an excited state in the compound nucleus, which happens in the second
case. A more physical explanation of the nature of these transitions is given by Dyer and
Barnes (1974): “The possible radiative captures may be classified according to the orbital
angular momentum of the initial 12C + α state, the multipolarity of the electromagnetic
transition, and the final state of 16O to which the transition leads. They may be further
classified according to whether the dominant portion of the transition matrix element
arises from the interior region of the nucleus (here referred to as the resonant capture
amplitude) or from the region external to the nuclear volume (here referred to as the
direct capture amplitude)”.
Both 12C and 4He are spin-less particles (J = 0) because they contain an even number
of protons and neutrons and therefore the individual angular momenta−→j i = (
−→l +−→s )
of each of the constituent nucleons pair up to give rise to a total angular momentum−→J
=∑−→
j i = 0, with overall positive parity (obtained as the product of an even number of
individual nucleons parities - which can be positive or negative depending on the shell
occupied by the nucleon).
Angular momentum and parity conservation applied to the reaction 12C + α → 16O∗
can be expressed as:−→J (12C) +
−→J (α) +
−→l =
−→J (16O∗) (2.14)
and:
π(12C)× π(α)× (−1)l = π(16O∗) (2.15)
where−→l is the relative orbital angular momentum between 12C and the alpha particle.
Since Jπ(12C) = Jπ(α) = 0+, the above expressions reduce to:
−→l =
−→J (16O∗) (2.16)
Chapter 2. Experimental Setup 16
and:
(−1)l = π(16O∗) (2.17)
meaning that only natural-parity states (0+, 1−, 2+, 3−, 4+ ...) can be populated in
16O starting from 12C + α.
In addition, because the relative orbital angular momentum−→l is perpendicular to the
beam axis, its projection on the beam axis is zero, and so only the magnetic sub-
state with mJ = 0 in 16O will be populated. Thus, subsequent γ-ray de-excitation
to the 16O ground state (J = 0 and therefore mJ = 0) occurs between mJ = 0 sub-
states only and will display the characteristic angular distribution of the specific−→L γ
involved in the transition (in this case electric 2l-pole (El radiation) radiation), with
|Ji − Jf |≤ Lγ ≤ Ji + Jf being the angular momentum carried away by the γ-ray in the
transition between initial and final states Ji and Jf , respectively.
Figure 2.5 shows the nuclear level diagram of the 16O nucleus. Regarding the g.s.
transition, for Ecm < 3.5 MeV, the tails and resonances that contributes to the total
S-factor are only the ones corresponding to Jπ = 1− and 2+ excited states, the electric
dipole (E1) and quadrupole (E2) transitions. The Jπ = 0+, 3− and 4+ contribute to
cascade transitions as will be discussed in section 2.5.2.
2.5 Angular distribution of γ-rays
The energy and angular distributions of the 16O-recoils are needed to investigate the
possibility of getting a better E1 and E2 separation through a tracking detector (see
section 1.5), and both of them are determined from the γ-rays angular distribution,
which is not isotropic. In this section I present the different contributions to the γ-rays
angular distribution.
2.5.1 Ground state transitions
The theoretical derivation of the general expression of the γ-ray angular distribution from
excited states that are oriented can be found in chapter 2 of Morinaga and Yamazaki
(1976). Usually, excited states formed in nuclear reactions are oriented with respect
to the direction of projectiles, which is the case of the 12C(α,γ)16O reaction. Dyer
and Barnes (1974) considered the following equation to fit the experimentally measured
Chapter 2. Experimental Setup 17
Figure 2.5: Level diagram of the 16O compound nucleus. The theoretical predictionof the energy dependence of the total S factor and its individual components are shown
on the left. Extracted from Schurmann et al. (2012).
angular distributions,
W (θγ) =(3|A1|2+5|A2|2
)Q0P0(cosθγ)
+(
257 |A2|2−3|A1|2
)Q2P2(cosθγ)
−607 |A2|2Q4P4(cosθγ)
+6√
3|A1||A2|cosφ12[Q1P1(cosθγ)
−Q3P3(cosθγ)]
(2.18)
Chapter 2. Experimental Setup 18
which can be written as,
W (θγ) = 3|A1|2(Q0 −Q2P2(cosθγ))
+5|A2|2[Q0 + 5
7Q2P2(cosθγ)− 127 Q4P4(cosθγ)
]+6√
3|A1||A2|cosφ12[Q1P1(cosθγ)−Q3P3(cosθγ)]
(2.19)
where Qn are attenuation factors related to the finite solid angles of the detectors
(M. E. Rose, 1953; Lawson & Frauenfelder, 1953; Krane, 1872), the functions Pn(cosθ)
are Legendre polynomials, and φ12 is related to the phase shifts for l = 1 and l = 2. The
quantity |A2|/|A1| was obtained for different projectile energies as a varying parameter
in the least square fit of the data.
Starting from equation 2.19, the γ-rays angular distribution can be divided in three
contributions,
W (θγ) = WE1(θγ) +WE2(θγ) +WE1E2(θγ) (2.20)
where, if for simplicity we consider Qn = 1, which represents a point like detector,
WE1(θγ) = 92 |A1|2sin2(θγ)
WE2(θγ) = 52514 |A2|2sin2(θγ)cos2(θγ)
WE1E2(θγ) = 15√
3|A1||A2|cosφ12sin2(θγ) cos(θγ)
(2.21)
L. Buchmann, Azuma, Barnes, Humblet, and Langanke (1996); Ouellet et al. (1996);
L. R. Buchmann and Barnes (2006) instead, using the equation introduced by Redder
et al. (1987) obtained the theoretical angular distribution in terms of the cross sections
of E1 and E2 contributions as follows,
W (θγ , E) = 1−Q2P2(cosθγ)
+σE2(E)σE1(E)
[1 + 5
7Q2P2(cosθγ)− 127 Q4P4(cosθγ)
]+ 6√
5
[σE2(E)σE1(E)
]1/2cos(φ12(E))[Q1P1(cosθγ)
−Q3P3(cosθγ)]
(2.22)
where the difference in phase or the phase angle between the E1 and E2 capture com-
ponents is given by
φ12(E) = δ2(E)− δ1(E) + arctan1
2η (2.23)
with η = Z1Z2e2/hv being the Coulomb parameter for some and the Sommerfeld pa-
rameter for others, and δi the elastic scattering phase shifts for l = 1 and l = 2.
Chapter 2. Experimental Setup 19
Comparing the terms multiplying QnPn(cosθγ) of both eqs. 2.19 and 2.22, and consid-
ering Q0P0(cosθγ) = 1, one concludes that Redder et al. (1987) adopted |A2|=√
σE25σE1
and |A1|= 1√3
in their fitting which seems to be different from what Dyer and Barnes
(1974) did, who considered the following relation to fit the data,
W (θγ)|A1|2 =
(3 + 5 |A2|2
|A1|2
)Q0P0(cosθγ)
+(
257|A2|2|A1|2 − 3
)Q2P2(cosθγ)
−607|A2|2|A1|2Q4P4(cosθγ)
+6√
3 |A2|2|A1|2 cosφ12[Q1P1(cosθγ)
−Q3P3(cosθγ)]
(2.24)
with |A2||A1| , φ12 and |A1|2 as the varied parameters. Where |A1|2 is the normalization
factor.
Assuncao et al. (2006) instead, fitted the data considering relations,
σE1
σtot= 3|A1|2 (2.25)
σE2
σtot= 5|A2|2 (2.26)
and substituting them in eq. 2.18 given by Dyer and Barnes (1974), with σE1, σE2 and
φ12 as the varied parameters, obtaining
dσ
dΩ=σtot4π
W (θγ) =σE1
4πWE1(θγ) +
σE2
4πWE2(θγ) +
√σE1σE2
4πcosφ12W12(θγ) (2.27)
where, for Qn = 1,
WE1(θγ) = 32sin
2(θγ)
WE2(θγ) = 10514 sin
2(θγ)cos2(θγ)
WE1E2(θγ) = 3√
5sin2(θγ) cos(θγ) .
(2.28)
From eqs. 2.27 and 2.28, one can define dσ1dΩ = σE1
4π WE1(θγ) and dσ2dΩ = σE2
4π WE2(θγ) as
the angular differential cross sections due to E1 and E2 respectively. Figure 2.6 shows
the partial and total angular differential cross sections at Ecm = 2.652 MeV calculated
with the partial cross sections from Assuncao et al. (2006) and the phases of Tischhauser
et al. (2009). I chose this energy because the E1 and E2 contributions have almost the
same intensity.
From eq. 2.10 one can calculate the percentage relative energy deviation of the recoils,
which is defined as (E16Olab −E16O
lab0 )/E16Olab0 . Figure 2.7 shows the resulting energy deviation
Chapter 2. Experimental Setup 20
0
0.5
1
1.5
2
2.5
3
3.5
0 30 60 90 120 150 180
θγ(deg)
dσ1/dΩ
dσ2/dΩ
dσ/dΩ
Figure 2.6: Angular differen-tial cross section in nb for Ecm
= 2.652 MeV as a function ofthe γ-ray angle with respect tothe beam axis due to E1 (bluecurve) and E2 (red curve) tran-sitions, and total (gold curve)γ-ray angular distributions con-sidering the interference between
both transitions.
and angular distribution of the recoils caused by the γ-ray angular distribution of fig.
2.6.
0
0.5
1
1.5
2
2.5
3
3.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
∆E/E(%)
dσ1/dΩ
dσ2/dΩ
dσ/dΩ
0
1
2
3
4
5
6
0 5 10 15 20 25
θ16O(mrad)
dσ1/dΩ
dσ2/dΩ
dσ/dΩ
Figure 2.7: Angular differential cross section in nb for Ecm = 2.652 MeV as a functionof the [Left] relative energy deviation and [Right] angle of the recoil with respect to thebeam axis due to E1 (blue curve) and E2 (red curve) transitions, and total (gold curve)γ-ray angular distributions considering the interference between both transitions.
However, looking to the E2 resonance at Ecm = 2.675 MeV as one could expect, the γ-
ray angular distribution changes dramatically with peaks at 45 and 135 as illustrated
in figure 2.8. The energy spread of the recoils is higher and the peak of the angular
distribution of the recoils shifts towards lower angles as illustrates figure 2.9. The inverse
is also true, if E1 transition dominates.
0
5
10
15
20
25
30
35
40
0 30 60 90 120 150 180
θγ(deg)
dσ1/dΩ
dσ2/dΩ
dσ/dΩ
Figure 2.8: Angular differen-tial cross section in nb for Ecm
= 2.675 MeV as a function ofthe γ-ray angle with respect tothe beam axis due to E1 (bluecurve) and E2 (red curve) tran-sitions, and total (gold curve)γ-ray angular distributions con-sidering the interference between
both transitions.
Chapter 2. Experimental Setup 21
0
5
10
15
20
25
30
35
40
-5 -4 -3 -2 -1 0 1 2 3 4 5
∆E/E(%)
dσ1/dΩ
dσ2/dΩ
dσ/dΩ
0
10
20
30
40
50
60
0 5 10 15 20 25
θ16O(mrad)
dσ1/dΩ
dσ2/dΩ
dσ/dΩ
Figure 2.9: Angular differential cross section in nb for Ecm = 2.675 MeV as a functionof the [Left] relative energy deviation and [Right] angle of the recoil with respect to thebeam axis due to E1 (blue curve) and E2 (red curve) transitions, and total (gold curve)γ-ray angular distributions considering the interference between both transitions.
2.5.2 Cascade transitions
Although it was not considered in the previous derivation, it is worth presenting a quali-
tative description of the kinematic cascade transition. It is defined as capture to excited
states of 16O below the 12C + α threshold. An explicit equation of the angular distribu-
tion of all relevant primary γ-rays from γγ-transitions has never been published. General
expressions are given by Frauenfelder (1955); C. Rolfs (1973); Morinaga and Yamazaki
(1976). For Ecm < 3.5 MeV, four γ-ray cascade transitions contribute (Schurmann et
al., 2011) to the total cascade cross section, capture to the subthreshold excited states
7.12(1−), 6.92(2+), 6.13(3−) and 6.05(0+) MeV. However, the dominant ones are the
cascade transitions into the subthreshold 6.92(2+) and 7.12(1−) states (Schurmann et
al., 2012). As mentioned in section 2.4, the γ-rays angular distribution from oriented ex-
cited states are not isotropic. The same is observed for the primary γ-rays of a cascade,
however with more contributions, which attenuates the angular correlation. Therefore,
the secondary γ-rays angular distribution can be considered in a first approximation as
isotropic.
L. Buchmann (2001) was the only one to report an explicit equation for the partial
cascade angular distribution. He derived an expression for the capture into the sub-
threshold 6.92 MeV state, which is the dominant branching, following section 2.3 of
C. Rolfs (1973), where the γ-ray angular distribution for the s, d and g partial waves
mix coherently, obtaining the following expression,
W (θ) = 1 + P2(cosθ)1+y02+y24
[−0.1531y02 + 0.5102y24 − 1.1952√y02cosε02 − 0.5476
√y24cosε24]
+ P4(cosθ)1+y02+y24
[−0.4898y02 + 0.375y24 + 1.82538√y24cosε24]
(2.29)
where y02 = σ2/σ0 and y24 = σ4/σ2 are the ratios of the total cross sections for the
respective partial waves (l = 0, s-wave; l = 2, d-wave; l = 4, g-wave), that can be
Chapter 2. Experimental Setup 22
obtained from R-matrix calculations, and the phases εlilj are
εlilj = ωlj + δlj − ωli − δli , (2.30)
where ωli is the Coulomb phase of partial wave li and δli its nuclear phase. The phase
relation (eq. 2.30) was first introduced by H. J. Rose and Brink (1967) (see eq. 3.60 of
the paper), and later on used by C. Rolfs (1973) where ϕli of that paper corresponds to
ωli of this paper. Dyer and Barnes (1974), from a comparison of their phase fitted with
a simple single level description, introduced eq. 2.23, where φlilj corresponds to εlilj of
eq. 2.30. This approximation, as highlighted by Barker (1987), corresponds to adopt
ωlj − ωli = arc tan(12η). If one considers this approximation as still valid for the partial
s-wave and g-wave, the calculation of εlilj is straightforward using the experimental
values of δli from Tischhauser et al. (2009)(tables available in (EPAPS, 2009)). Figure
2.10 shows the primary γ-ray angular distribution resulting from eq. 2.29 for Ecm =
2.676 MeV. It is clearly picked at 0 and 180. The total cross sections for the partial
waves l = 0, 2 and 4 were extracted from L. Buchmann (2001) and the phases δli from
Tischhauser et al. (2009). At Ecm = 2.676 MeV the d-wave component has a minimum
due to the interference with the 2+ resonance.
0
0.5
1
1.5
2
0 30 60 90 120 150 180
W(θ
γ)
θγ(deg)
Figure 2.10: Primary γ-rayangular distribution for Ecm =2.676 MeV from transitions tothe 6.92 MeV excited state con-sidering the s, d and g partial
waves contributions.
If one looks however to the primary γ-ray angular distribution for Ecm = 2.652 MeV
where E1 and E2 contributions for the g.s. transition are comparable, the result in a
first order approximation can be considered isotropic as illustrates figure 2.11. At lower
energies, the primary γ-ray angular distribution becomes more isotropic.
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 30 60 90 120 150 180
W(θ
γ)
θγ(deg)
Figure 2.11: Primary γ-rayangular distribution for Ecm =2.652 MeV from transitions tothe 6.92 MeV excited state con-sidering the s, d and g partial
waves contributions.
Chapter 2. Experimental Setup 23
On the other hand, for energies where the d-wave component is stronger compared to
the other two, the angular distribution is picked at 55 and 125.
2.6 Monte Carlo simulations
In this section I investigate through Monte Carlo simulations if and how it is possible
to use the recoil trajectories to investigate the possibility of getting better E1 and E2
separation (see section 1.5).
2.6.1 Ground state transitions
The recoils angular distribution and the correspondent energy deviation were obtained
from a Monte Carlo simulation written in C++. The random γ-rays generation followed
the angular distribution of eqs. 2.27 and 2.28. The E1 and E2 cross sections were
randomly generated according to a Gaussian distribution centered in the cross section
values reported by Assuncao et al. (2006) with σ being its uncertainty. The angle of
the recoils were obtained from eq. 2.7, and the relative energy from eq. 2.10. Once
calculated those quantities, a Gaussian distribution was considered for both, with an
estimated experimental uncertainty of σθ16O = 1 mrad and σE16Olab
= 5 keV. Figure 2.12
show the results for Ecm = 2676 keV, where the E2 contribution is much larger than E1.
0
5000
10000
15000
20000
25000
-5 -4 -3 -2 -1 0 1 2 3 4 5
Events
per
0.1
%
∆E/E(%)
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
0 5 10 15 20 25
Events
per
0.1
mra
d
θ16O(mrad)
Figure 2.12: [Left] Relative energy deviation and [Right] angular distribution of therecoils for Ecm = 2.676 MeV, as a result of the distribution given by eqs. 2.27 and 2.28
for ground state transitions.
2.6.2 Cascade transitions
To evaluate the impact of γ-ray cascades in the recoils angular distribution I included
them in the Monte Carlo simulation. We assume that the primary and secondary
Chapter 2. Experimental Setup 24
γ-rays are emitted simultaneously1. From linear momentum conservation, −→p 12C =−→p 16O +
(−→p γ1 +−→p γ2
), where −→p γ1 + −→p γ2 is the resultant γ-ray linear momentum and
eq. 2.7 is valid again. To perform the sum and obtain the resultant γ-ray angular dis-
tribution, the linear momentum vector can be decomposed in spherical coordinates to
take advantage on the constant energy of both γ-rays, sorting then random θs and ϕs.
In order to sort random γ-rays distributed isotropically, the following relation should
be observed, dNdΩ = const., where dΩ=sinθ dθ dϕ. Therefore ϕ can be sorted from a
constant distribution and θ instead should be sorted from a sine distribution. If however
the γ-rays angular distribution obeys a non isotropic distribution (W(θ)), θ should be
sorted from a [W(θ)sinθ] distribution.
The graphs of figure 2.13 show the energy deviation and recoils angular distributions for
Ecm = 2.676 MeV, when the primary γ-rays follow the distribution of eq. 2.29 and the
secondary ones are emitted isotropically. Despite the similar structure of the angular
distribution of the recoils, the energy deviation structure of the graph is very different
from the g.s. distribution (figure 2.9). One way to separate the cascade recoils from
the g.s. ones at this energy is to measure them in coincidence with the 90 secondary
γ-rays, taking advantage of the γ-rays angular distribution of fig. 2.8.
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
-5 -4 -3 -2 -1 0 1 2 3 4 5
Events
∆E/E(%)
0
1000
2000
3000
4000
5000
6000
7000
8000
0 5 10 15 20 25
Events
θ16O(mrad)
Figure 2.13: [Left] Relative energy deviation and [Right] angular distribution of therecoils for Ecm = 2.676 MeV, as a result of the primary γ-ray angular distribution
illustrated in fig. 2.10 with secondary γ-rays being emitted isotropically.
The graphs of figure 2.14 instead were obtained for both primary and secondary γ-rays
being emitted isotropically.
It is worth noting that the angular correlation between primary and secondary γ-rays
was not derived in the present work, being considered isotropic.
1This approximation is valid because the mean lifetime t0 of the 9.84 MeV(2+) excited state relatedto the energy width Γ = 0.63 keV by the uncertainty principle (Γt0 = h) is 0.1 fs, which for practicalpurposes can be considered instantaneous.
Chapter 2. Experimental Setup 25
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
-5 -4 -3 -2 -1 0 1 2 3 4 5
Events
∆E/E(%)
0
1000
2000
3000
4000
5000
6000
7000
8000
0 5 10 15 20 25
Events
θ16O(mrad)
Figure 2.14: [Left] Relative energy deviation and [Right] angular distribution of therecoils for Ecm = 2.676 MeV, as a result of primary and secondary γ-ray being emitted
isotropically.
2.6.3 The ∆E/E, θ16O correlation
Figure 2.15 shows the correlation distribution between ∆E/E and θ16O obtained from
the results of fig. 2.12, and fig. 2.16 shows the same correlation distribution obtained
however from the results of fig. 2.13. Both graphs clearly show that cascade and g.s.
transitions populate different areas of the correlation distribution graph.
0
100
200
300
400
500
600
700
800
900
(mrad)16O
θ0 5 10 15 20 25
E/E
(%
)∆
5−
4−
3−
2−
1−
0
1
2
3
4
5
Figure 2.15: Correlation ma-trix for ground state transitionsof the relative energy deviationfrom the central one to the angleof the recoil at target position for
Ecm = 2.676 MeV.
0
20
40
60
80
100
120
140
160
(mrad)16O
θ0 5 10 15 20 25
E/E
(%
)∆
5−
4−
3−
2−
1−
0
1
2
3
4
5
Figure 2.16: Correlationmatrix for cascade transitionsthrough the 6.92 MeV excitedstate of the relative energydeviation from the central one tothe angle of the recoil at targetposition for Ecm = 2.676 MeV.
In view of the above result, a different problem can be addressed. Recent R-matrix
analysis of the data available in the literature came up with different results regarding
the interference behavior of the E2 narrow resonance at Ecm = 2.68 MeV. deBoer et
al. (2017) following the results of Sayre et al. (2012) and Brune (2001), concluded from
Chapter 2. Experimental Setup 26
their best fitting that the minimum of the interference is sited at an energy higher than
Ecm = 2.68 MeV. Schurmann et al. (2012) however concluded the opposite from their
best fitting, obtaining a minimum at an energy lower than Ecm = 2.68 MeV. Therefore
this is still an open question, and as discussed by Sayre et al. (2012) and Brune (2001),
it has an impact in the astrophysical S-factor obtained from extrapolations.
As cited in subsec. 2.5.2 the same narrow resonance at Ecm = 2.68 MeV is observed
in the d-wave contribution to the cascade through 6.92 MeV excited state, which also
interferes with high lying 2+ resonances. L. Buchmann (2001) arbitrarily considered
a minimum for the interference located at an energy lower than Ecm = 2.68 MeV. At
the resonance energy region the cascade and g.s. components contributes equally to the
cross section.
So, if one measures the correlation considered above in the two possible minima, by
looking at the different areas populated in the graph it can be possible to determine if
is a g.s. interference or a cascade interference minima, or even both together, restricting
therefore the shape of both interferences. This of course will be possible only if in the
end of the ERNA recoil separator both contributions can be distinguished.
2.6.4 Energy, angle correlation after ERNA transport
The distributions of figs. 2.15 and 2.16 were used to generate the input for a code
that calculates the trajectories of ions through ERNA developed with COSY Infinity
(Appendix A). Each recoil from both distributions received a random φ from 0 to 2π and
random coordinates (x0,y0) for a beam spot of 3 mm diameter. Due to the computational
effort required, this part of the analysis was limited to a random subset of 1.5×105 events
of the original MC sets. The set of the separator’s elements fields (tuning) can be found
in table 4.1. The entrance of the ionization chamber was considered as the final point
of the ERNA separator, which has a limiting diameter of 4 cm. The charge adopted for
the recoils is q = +5. Figures 2.17 and 2.18 show the final correlation distributions due
to g.s. and cascade contributions.
The g.s. events that before were in a well defined region in the graph, now are spread in
the inner region of the parabola containing the events, as well as for the cascade events.
This overlap however can be avoided by applying an off line coincidence in the γ-rays
spectra to select the cascade events.
Chapter 2. Experimental Setup 27
0
20
40
60
80
100
(mrad)16O
θ0 2 4 6 8 10 12
E/E
(%
)∆
5−
4−
3−
2−
1−
0
1
2
3
4
5
Figure 2.17: Correlation ma-trix for ground state transitionsof the relative energy deviationfrom the central one to the an-gle of the recoil at the end of theseparator for Ecm = 2.676 MeV
and q = +5.
0
10
20
30
40
50
60
70
80
(mrad)16O
θ0 2 4 6 8 10 12
E/E
(%
)∆
5−
4−
3−
2−
1−
0
1
2
3
4
5
Figure 2.18: Correlationmatrix for cascade transitionsthrough the 6.92 MeV excitedstate of the relative energydeviation from the central one tothe angle of the recoil at the endof the separator for Ecm = 2.676
MeV and q = +5.
2.6.5 The separation of E1 and E2 g.s. contributions
Though in this case it is not possible to apply an off line coincidence in the γ-rays spectra
because all γ-rays from E1 or E2 g.s. transitions will populate the same peak in the
spectra, a proper analysis of the angular and energy distribution of the recoils can help
to discriminate both contributions. In this section I consider again the case of Ecm =
2.652 MeV where both transitions contribute equally to the fusion cross section. Without
considering the interference between E1 and E2 contributions, the (∆E/E, R) and (θ16O,
R) correlations and the phase spaces in x and y after the transport through ERNA for E1
and E2 transitions are shown in figures 2.19, 2.20, 2.21 and 2.22, respectively, where R is
the perpendicular radius relative to the central trajectory. Comparing the distributions
from E1 and E2 transitions, one can see that they clearly superpose each other in all
the correlations being considered, however, with different densities.
In order to disentangle the E1 and E2 g.s. contributions, a possible approach is to
consider the ratio of counts in different areas as a function of σE2σE1
. This can be done by
implementing the distribution of eq. 2.22 to generate random γ-rays for different values
of σE2σE1
. As a starting point the ratio of counts for E1 and E2 dominated regions in fig.
2.20 was analyzed as a function of σE2σE1
. Different cuts were performed without success.
Fig. 2.23 shows the result for the ratio of number of events in region (6 < R < 8 mm,
1 < θ16O < 3 mrad (E2 dominated)) by the number of events in (13 < R < 16 mm, 5
Chapter 2. Experimental Setup 28
0
10
20
30
40
50
Radius(mm)
0 5 10 15 20 25
E/E
(%
)∆
5−
4−
3−
2−
1−
0
1
2
3
4
5
0
20
40
60
80
100
Radius(mm)
0 5 10 15 20 25
E/E
(%
)∆
5−
4−
3−
2−
1−
0
1
2
3
4
5
Figure 2.19: Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the relative energy deviation from the central one to the radius relative to the centraltrajectory of the recoil at the end of the separator for Ecm = 2.652 MeV and q = +5.
0
10
20
30
40
50
60
70
80
Radius(mm)
0 5 10 15 20 25
(m
rad)
16
Oθ
0
2
4
6
8
10
12
0
10
20
30
40
50
60
Radius(mm)
0 5 10 15 20 25
(m
rad)
16
Oθ
0
2
4
6
8
10
12
Figure 2.20: Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the angle of the recoil to the radius relative to the central trajectory of the recoil at
the end of the separator for Ecm = 2.652 MeV and q = +5.
0
10
20
30
40
50
x(mm)
20− 15− 10− 5− 0 5 10 15 20
(m
rad)
xθ
10−
5−
0
5
10
0
5
10
15
20
25
30
35
40
45
x(mm)
20− 15− 10− 5− 0 5 10 15 20
(m
rad)
xθ
10−
5−
0
5
10
Figure 2.21: Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the phase space in x of the recoil at the end of the separator for Ecm = 2.652 MeV
and q = +5.
Chapter 2. Experimental Setup 29
0
5
10
15
20
25
30
35
40
45
y(mm)
15− 10− 5− 0 5 10 15
(m
rad)
yθ
6−
4−
2−
0
2
4
6
0
10
20
30
40
50
y(mm)
15− 10− 5− 0 5 10 15
(m
rad)
yθ
6−
4−
2−
0
2
4
6
Figure 2.22: Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the phase space in y of the recoil at the end of the separator for Ecm = 2.652 MeV
and q = +5.
< θ16O < 7 mrad (E1 dominated)), where R =√x2 + y2. 105 events were generated
for each of the 102 points in the graph. The only way to have a clearer distribution is
by doubling the fields of Wien filter 2, which is unfortunately out of the possible range.
This does not exclude the possibility of a more complex analysis using the tracking
information to disentangle the E1 and E2 g.s. contributions.
0.445
0.45
0.455
0.46
0.465
0.47
0.475
0.01 0.1 1 10 100
#(6
<R
<8)
/ #(1
3<
R<
16)
σE2/σE1
Figure 2.23: Distribution of the ra-tio of number of events in region (6< R < 8 mm, 1 < θ16O < 3 mrad (E2dominated)) by the number of eventsin (13 < R < 16 mm, 5 < θ16O < 7mrad (E1 dominated)), as a functionof σE2
σE1at the end of the separator for
Ecm = 2.652 MeV and q = +5.
Another possible approach, that can be considered somehow independent of the recoil
separator effects, is to consider the ratio of number of events in the energy deviation
distribution graph found in the interval -3 > ∆EE (%) > 3 (E2 dominated) by the number
of events found in -1 < ∆EE (%) < 1 (E1 dominated). The result is shown in fig. 2.24,
where 105 events were generated for each of the 103 points in the graph. For each recoil
a Gaussian distribution with σE = 50 keV was used to simulate the energy resolution
of the detector. This is a very conservative resolution for a ToF detector as will be
discussed later.
A simple Erf function can be used to fit the points of fig. 2.24. This curve gives a
theoretical prediction of the cross section ratio σE2σE1
, which can be used to disentangle
the E1 and E2 contributions.
Chapter 2. Experimental Setup 30
0
1
2
3
4
5
6
7
8
-3 -2 -1 0 1 2 3
#(|
∆E
/E|>
3)
/ #(|
∆E
/E|<
1)
σE2/σE1 (10x)
Figure 2.24: Distribution of the ra-tio of number of events in the range|∆E/E| > 3% (blue dashed region offig. 2.19) by the events found in therange |∆E/E| < 1% (red dashed regionof fig. 2.19), as a function of σE2
σE1at
the end of the separator for Ecm =2.652 MeV and q = +5.
Therefore the time-of-flight information, here represented by the relative energy devia-
tion (∆EE ) can be used to disentangle the E1 and E2 contributions to the cross section,
and the same approach can be applied for lower energies.
2.6.6 The 12C leaky beam
Another important factor to be considered is the suppression of the 12C leaky beam
because it is responsible for the charged particle background (section 1.4). In this section
I investigate if and how it is possible to suppress the 12C leaky beam using a tracking
final detector at ERNA. In order to do that I simulated a 12C beam with all possible
charge states and energy distribution taking into account the energy loss in the target.
If the beam reaches the inner surface of the separator, I use its impinging information
as an input to SRIM (Ziegler, 2013) obtaining the information of the scattered beam
which is again used in the COSY code to generate a beam starting from the impinging
point.
At Ecm = 2.652 MeV, from eq. 2.9 the energy of the carbon beam is E12Clab = 10.608
MeV and the initial energy of the recoils is E16Olab0 = 7.956 MeV. For a dipole magnet,
the bending radius is given by
Rb =mv
qB(2.31)
that can be written as
Rib =
√2miEilab
Bqi(2.32)
for every i-ion crossing the magnet. For the case where R12Cb = R16O
b , E16Olab = 7.956
MeV, E12Clab = 10.608 MeV and q16O = +5, the charge state q12C = +5 for the 12C ions
is selected. This can be seen in fig. 2.25, where the charge states q12C = +1, +2, +3,
+4, +5 and +6 are simulated, considering a Gaussian energy distribution with σE =
250 keV due to the energy loss in the target.
Chapter 2. Experimental Setup 31
Figure 2.25: Simulation with COSY Infinity of the 12C leaky beam transport throughthe separator for different charge states. Black: +1, blue: +2, red: +3, yellow: +4,green: +5 and yellow-green: +6. The tuning of the separator is in table 4.1. On the[Left] the xz plane top view and on the [Right] the yz plane side view. The central
trajectory is given by 16O+5 at E16Olab = 7.956 MeV.
Therefore, one can conclude that the leaky beam possibly detected can come only from
scattering inside the separator, and the first scattering does not happen on the top and
bottom, but exclusively on the right and left surfaces. The pipes and connections of the
separator are mainly made of stainless steel, specially the cell inside the first dipole and
the pipes inside the triplet and doublet where the beam scatters for the first time. The
higher the number of scatterings, the greater the probability of being stopped by some
slit or bellows, or being absorbed on the way. Therefore the charge states q12C = +1,
+2 and +3, after multiple scatterings are very likely stopped before reaching the ICT
(refer to fig. 2.2).
Figure 2.26: Simulation with COSY Infinity of the 12C leaky beam transport throughthe separator for different charge states. Yellow: +4, green: +5 and yellow-green: +6.
The xz plane top view is illustrated.
Chapter 2. Experimental Setup 32
Figure 2.26 zooms on the other three charge state trajectories. The +4 beam reaches
the surface of the pipe inside the triplet with an angle respect to the surface of θsurface ∼3.3, the 5+ beam reaches the pipe inside the doublet with θsurface ∼ 6, and the +6
beam reaches the pipe in between triplet and WF1 with θsurface ∼ 0.9. The angular
distribution and percentage of scattered ions can be calculated using the software SRIM.
At θsurface ∼ 6, 36% of the beam is absorbed and 64% is scattered (with respect to the
surface of the pipe) towards forward angles with respect to the beam direction. Fig.
2.27 shows the directional cosines distributions obtained from SRIM calculations for an
impinging angle of 6 with respect to the pipe surface represented by the yz-plane. The
x-axis is the normal axis respect to the surface. The scattered beam has a peak at ∼15
(with respect to the surface, forward with respect to the beam) with a long tail showing
a large spread of the beam in the y-direction. The graph on the left instead shows a
large spread also in the z-direction.
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
cos(z
)
cos(y)
0
20
40
60
80
100
120
140
160
180
200
0 30 60 90 120 150 180
Events
acos(y)(deg)
Figure 2.27: [Left] The beam directional cosines distribution in y and z directions. Inthis calculation, the beam impinges the yz-plane with 174 with respect to the y-axis,84 with respect to the x-axis and 90 with respect to the z-axis at 10.61 MeV. [Right]
The angular distribution of the 12C beam with respect to the y-axis.
Most part of the beam therefore will scatter again with an impinging angle of ∼15,
where ∼50% of the beam is absorbed. The higher the impinging angle the greater the
absorption. The maximum absorption is obtained at 90, where only 10% of the beam
is scattered. For an impinging angle of 1, 81% of the beam is scattered. The scattered
beam as illustrated in fig. 2.28 is peaked at ∼2.5 and presents a small spread in the
z-direction. These results illustrate the beginning of a complex multi-scattering process
that can be estimated through a Geant4 (Agostinelli, 2003) simulation of the separator,
which is beyond the time schedule of the present work. Despite this complexity, impor-
tant conclusions can be inferred. The first and most important is that the higher the
number of scatterings, the greater the probability of a detected ion with angle higher
than 11 mrads, which is the maximum angle for the recoils (refer to fig. 2.20). Therefore
most part of the beam contamination can be identified through the position and angular
distribution analysis of the particles detected. Another important information is that
Chapter 2. Experimental Setup 33
the angular spread of the beam increases every time the beam scatters, and the focusing
effect of the circular shape of the pipes do not contribute to the reduction of the angular
spread. So, one expects a highly divergent homogeneously distributed 12C leaky beam
in the end of the separator, with a small overall deflection towards right due to the effect
of the last Wien filter (WF2).
0
50
100
150
200
250
300
350
400
450
-1 -0.5 0 0.5 1
Events
cos(z)
0
100
200
300
400
500
600
700
800
0 30 60 90 120 150 180
Events
acos(y)(deg)
Figure 2.28: [Left] The directional cosine distribution in the z-direction. The beamimpinging angle is 179 at 10.61 MeV. [Right] The angular distribution of the 12C beam
with respect to the y-axis.
In conclusion, although tracking appears redundant and hence not crucial in the E1
and E2 disentanglement for the specific case of our separator, it appears promising to
decrease the charged particle background.
Chapter 3
Detector design
This Chapter is dedicated to the development of a fully operational focal plane detector
with tracking (see section 1.5). Here I describe the process that led to the final design
of the tracking detector and present a detailed description of its construction.
3.1 A single stage tracking detector: TPC-GEM
The first possibility considered was a direct 3D tracking using a TPC (Time Projection
Chamber) with GEMs (Gas Electron Multiplier) (Sauli, 1997). This system consists
of an ionization chamber with a GEM placed on the bottom and a pixel chip readout.
Knowing the traveling velocity of the electron inside the gas it is possible to determine
the position where it was produced. This setup was developed by Vahsen et al. (2015)
and Lewis et al. (2015) at University of Hawaii, Honolulu (USA). The results reported
by Vahsen et al. (2015) show an angular resolution of (1.202 ± 0.004)degrees or 20.979
mrad using an active volume of 7.2 × 8.0 × 9.2 mm3 in x×y×z being z-axis the normal
axis to the pixel chip as can be seen in Figure 13b of the paper. As discussed in subsec.
2.6.5, the 16O-recoils at the end of ERNA have a maximum angle of ∼11 mrad, with an
angular distribution peaked at ∼2 mrad. Thus, the TPC-GEM detector does not have
the required resolution to resolve the angular distribution of the recoils.
After ruling out the 3D tracking possibility, efforts were directed towards the composition
of two 2D position sensitive time detectors. The high resolution ToF measurement came
up as a possible implementation.
34
Chapter 3. Detector design 35
3.2 Start 2D detector
The start 2D detector is a time pick-off detector (Arnold et al., 2014), with a similar
design to the system that has been so far used in the ERNA line (carbon foil + mirror
+ MCP), which is described in DiLeva et al. (2008), with the innovation of an internally
better insulated toblerone-part1 and a 90%-OAR micro-channel plate (MCP) with a 2D
readout. This system is called channel plate detector (CPD) and the present design
was firstly proposed by Busch, Pfeffer, Kohlmeyer, Schull, and Puhlhoffer (1980) as
the start detector for ToF measurements at GSI in Darmstadt. Figure 3.1 presents a
schematic illustration of this kind of detector. As discussed bellow, in my simulations
using COSY and Garfield (Veenhof, 2010), I considered several possibilities, including
multi-rings and parallel wire plane acceleration, both composed with a magnetic mirror
or an electrostatic mirror grid, varying also the direction of the wires.
Figure 3.1: Schematic illustration of a channel plate detector as described by Buschet al. (1980).
3.2.1 Electron production
In order to get the ion timing and position with a possibly small change of its trajectory,
one can place a thin carbon foil in front of the beam and collect the secondary electrons
ejected from both surfaces of the foil in order to retrieve the initial impinging position.
Shi et al. (1985) showed that for 16O+3, the secondary electron emission (SEE) yield has
a peak at E16Olab ' 5.5 MeV and the forward emission yield is two times the backward one.
They show also that the yield decreases with time until 1 hour of bombardment when
it becomes constant, using carbon foils with areal density of 47 µg/cm2. Frischkorn and
Groeneveld (1983) measured the number of electrons produced from carbon foils with
areal densities of 2, 8 and 15 µg/cm2 bombarded with 16O+. The number of electrons
1The toblerone nomination was introduced by Laitinen, Rossi, Julin, and Sajavaara (2014a), toidentify the field free inner part of the electrostatic mirror, that resembles the shape of a famous swisschocolate.
Chapter 3. Detector design 36
produced grows linearly in the range E16Olab = 0.16 - 1.6 MeV, from 20 to 50 electrons
per projectile for 8 µg/cm2.
Drexler and DuBois (1996) measured the angular and energy distribution of the sec-
ondary electrons for different carbon foil thicknesses (3, 5, 10 and 20 µg/cm2), using a
proton beam. They found out that the thicker the carbon foil, the higher the SEE yield
with a saturation at around 20 µg/cm2, and the smaller the energy of the electrons due
to their energy loss in the foil. Another conclusion was that the energy distribution peak
moves towards higher energies as the emission angle with respect to the normal axis in-
creases, and the forward peaks are broader than the backward ones. They also saw that
the peak center of the SEE energy distribution varies from 2 eV for small angles until ∼5
eV for large emission angles, presenting a significant long tail to higher energies, even if
the peak contains approximately 85 % of all emitted electrons with FWHM ' 7 eV.
As already mentioned, the CPD design presented here was introduced in the 80s, and
different groups around the world use it for ToF measurements. The TRIUMF group in
Vancouver uses carbon foils with a thickness of 4-5 µg/cm2 to detect recoils from fusion
reactions (Vockenhuber et al., 2009). The SPIDER group in Los Alamos uses carbon
foils of 20 µg/cm2 to detect fission fragments (Arnold et al., 2014; Meierbachtol et al.,
2015). The ERDA group in Finland used carbon foils of 10 µg/cm2 in their first setup
and 3 and 7 µg/cm2 in their last setup to detect elastic recoils (Laitinen et al., 2014a;
Laitinen, Rossi, Julin, & Sajavaara, 2014b). The Ion Beam Materials Laboratory in
Tennessee used carbon foils of 10 µg/cm2 in a ToF system to measure stopping power
(Fontana et al., 2016).
As we are interested in tracking the recoils, the smaller the straggling, the better the
position resolution, therefore we would like to use carbon foils as thin as possible. The
frame used to support the carbon foil has a 40 mm diameter hole, matching the final
detector active area, that makes very challenging the use of very thin foils. DiLeva
et al. (2008) used a similar frame with a 45 mm hole and a carbon foil of 4 µg/cm2.
Vockenhuber et al. (2009) says that 4 µg/cm2 is a good compromise between number
of electrons produced per particle and minimal energy loss and angular straggling. We
obtained carbon foils of 4 and 10 µg/cm2 produced by Dominik Seiler of the Technical
University of Munich. The foils are produced with Laser Ablation Deposition (Dollinger
& Maier-Komor, 1991), for technical reasons the foils are deposited on a stack of layers
as shown in Figure 3.2.
Before the transfer of the foils from the glass slide to the frames, a Formvar layer was
deposited on top to make them more robust and as a protection from humidity. This is
the procedure used to deposit the foils on the frames, it should be performed inside a
chemical hood:
Chapter 3. Detector design 37
Figure 3.2: Exploded illustration of the layers used in the carbon foil production.Formvar is a polyvinyl thermoplastic resin.
• Mix 300 ml of Chloroform with 1.3 g of Formvar in an aluminum vessel as illus-
trated in fig. 3.3;
• Put the slice of glass with the foil attached inside the solution for 1 minute;
• Then remove it from the solution and leave it to dry for a few minutes.
Figure 3.3: Pictures of the apparatus used in the Formvar deposition.
Since the foils are large, the standard “fishing” method to hook them to frames is not
suitable. Therefore, I followed this procedure:
• Dilute HNO3 in pure water with a 1/4 volume proportion. The water serves to
remove the sugar and the acid to dissolve the copper;
• Put the slice of glass on a support inclined by approximately 45 with the carbon
foil surface upwards inside a glass vessel as illustrated in fig. 3.4;
• At this point one can start filling the vessel very slowly with the acid solution;
Chapter 3. Detector design 38
Figure 3.4: Pictures of the apparatus used to float the carbon foils.
• When the carbon foil is floating completely free, one can carefully position the
frame to hook the foil as fig. 3.5 illustrates;
• Once caught the foil with the upper edge of the frame, leave it standing and open
the outlet tap of the glass vessel with a small flux to empty it;
• While the water is removed from the vessel the foil gently deposits on the frame;
• After the complete evacuation of the glass vessel, let the foil dry for 1 hour.
Figure 3.5: Pictures of the apparatus used to hook the carbon foils with the frame.
3.2.2 Electron collection and transport
Isochronicity of the electron trajectories is an important feature of the design chosen to
collect and transport the electrons ejected from the carbon foil to have a good timing
signal. As a straightforward way to obtain that, the trajectories of the electrons from
carbon foil until the MCPs should have approximately the same length. In addition,
one should minimize the electrons spread, that broadens their spatial distribution, to
Chapter 3. Detector design 39
preserve the position information of the electrons cloud. In the next subsections I present
a qualitative discussion of the possible ways to collect and transport the electrons. A
quantitative discussion explaining the final design will be presented in section 3.2.4.
3.2.2.1 Electron collection: Acceleration grid
The electric field around a thin wire is much more intense than the field between two
grids. The field singularities around the wires, as cited by Laitinen et al. (2014a),
contribute to spread the electrons coming from the carbon foil in the perpendicular
direction respect to the wires as fig. 3.6 illustrates. The results presented here were
obtained from a model of the detector I developed with the Garfield toolkit (Veenhof,
2010), which interfaces with neBEM (Veenhof, 2009) to compute electric fields and
potentials.
Figure 3.6: [Left] Voltage contour lines for Ufoil = -2000 V, Ugrid = 0 V, wire pitchdwp = 1 mm, foil-grid distance dfg = 5 mm and emission angle φ0 = 0. The verticalaxis is in mm and the horizontal one in cm. [Right] Electrons trajectories generated0.1 mm in front of the carbon foil with E = 4 eV. In both pictures the foil is at z = 1
cm and the wires at z = 1.5 mm.
In order to better understand the behavior of each parameter involved in the electrons
collection I simulated their trajectory with a simplified setup composed by a biased foil,
a grounded grid, called acceleration (ac) grid and another grounded grid 7 cm far from
the ac one to create a field free region. The wires have 25 µm diameter. On the first
simulation I varied the acceleration voltage of the foil from -200 to -20000 V keeping
constant the wires pitch (1 mm) and the foil-grid distance (5 mm), with electrons being
emitted at 0 with respect to the foil normal axis, obtaining fig. 3.7, where no difference
can be observed between the three different scenarios. If however, the electrons are
emitted within an angle of ±30 as fig. 3.8 illustrates, the acceleration bias has a large
impact on their spread. The higher the acceleration voltage, the smaller the electrons
spread, which tends to approach the 0 spread.
Chapter 3. Detector design 40
Figure 3.7: Trajectories of electrons emitted at 0 for different acceleration voltageswhere dwp = 1 mm and dfg = 5 mm. In all three pictures the foil is at z = 1 cm andthe grid at z = 1.5 mm. [Left] Ufoil = -200 V; [Center] Ufoil = -2000 V; [Right] Ufoil
= -20000 V. Both axis are in cm. See text for more details.
Figure 3.8: Trajectories of electrons emitted at±30 for different acceleration voltageswhere dwp = 1 mm and dfg = 5 mm. In all three pictures the foil is at z = 1 cm andthe grid at z = 1.5 mm. [Left] Ufoil = -200 V; [Center] Ufoil = -2000 V; [Right] Ufoil
= -20000 V. Both axis are in cm. See text for more details.
Therefore, one can conclude that there is an intrinsic spread related to the wires pitch
and foil-grid distance that does not depend on the ac voltage. The influence of the wires
pitch is explored in fig. 3.9, from which we can conclude that the smaller the wires pitch,
the smaller the intrinsic electrons spread.
The impact of the foil-grid distance is illustrated in fig. 3.10, which shows that the larger
the foil-grid distance, the smaller the intrinsic electrons spread. The same relation is
observed if the electrons are emitted with an angle of ±30 as fig. 3.11 illustrates.
However, due to the finite size of grid and foil, border effects increase with the foil-grid
distance possibly creating aberrations on the electrons position matrix. Those effects
will be studied a little further on in this chapter.
Chapter 3. Detector design 41
Figure 3.9: Trajectories of electrons emitted at 0 for different wire pitches whereUfoil = -2000 V and dfg = 5 mm. In all three pictures the foil is at z = 1 cm and thegrid at z = 1.5 mm. [Left] dwp = 0.5 mm; [Center] dwp = 1 mm; [Right] dwp = 2 mm.
Both axis are in cm. See text for more details.
Figure 3.10: Trajectories of electrons emitted at 0 for different foil to grid distanceswhere Ufoil = -2000 V and dwp = 1 mm. In all three pictures the grid is at z = 1.5mm. [Left] dfg = 2.5 mm; [Center] dfg = 5 mm; [Right] dfg = 10 mm. Both axis are
in cm. See text for more details.
Figure 3.11: Trajectories of electrons emitted at ±30 for different foil to grid dis-tances where Ufoil = -2000 V and dwp = 1 mm. In all three pictures the grid is at z =1.5 mm. [Left] dfg = 2.5 mm; [Center] dfg = 5 mm; [Right] dfg = 10 mm. Both axis
are in cm. See text for more details.
Chapter 3. Detector design 42
3.2.2.2 Electron collection: Acceleration rings
I also considered the possibility of using acceleration rings, but after simulating different
setups varying the number of rings and voltage applied, I concluded that, without a grid
after the acceleration rings, it is not possible to avoid the spread of the electrons and
constrain the field free region to avoid aberrations in the toblerone-part.
3.2.2.3 Electron transport: Electrostatic mirror
Here I present a systematic study similar to section 3.2.2.1, where I try to cover the
possible variations of the parameters involved in an electrostatic mirror composed by
two wire planes both in the same direction, inclined 45 with respect to the carbon foil
plane. Unlike the reference system adopted in the section 3.2.2.1, here the carbon foil is
in the yz-plane and the electrons travel parallel to the x axis in the negative direction.
The following results are presented zooming in the central region of the setup illustrated
in fig. 3.12, where dfg = 5 mm, the initial dwp = 1 mm, the initial distance between
toblerone and mirror grid plane dt−mg = 5 mm, the toblerone length in the z-direction is
also 8 cm including the square edges at z = -3.7 and 3.7 with 6 mm thickness to isolate
it. The wires are 20 µm diameter.
Figure 3.12: Schematic illustration of the electrostatic mirror setup used for thesimulations of section 3.2.2.3. At x = -0.5 cm there is a conductive solid that representsthe carbon foil. At x = 0 cm there is the ac grid. At y = 8 cm there is another grid toisolate the inner region of the toblerone. The diagonal lines are two grids, the mirrorone that is the outer one and the toblerone grid which is the inner one. And at y = 8.6there is a conductive wire plane representing the MCPs front surface with a constant
potential Ufront = 200 V.
In order to analyze the electrons spread due to the mirror grids I zoomed into the region
1 ≤ x ≤ 7 cm, 3 ≤ y ≤ 8 cm and -1 ≤ z ≤ 1 cm. The view presented in the following
Chapter 3. Detector design 43
figures is the view from x = 1 cm in the direction of x = 7 cm. Electrons were generated
at x = 1 cm with v = 2655.07 cm/µs which corresponds to E = 2004 eV in the +x
direction, at θxz = 0 and ±3 in the xz plane in the range -0.2 ≤ z ≤ 0.2 cm with
0.1 mm steps. The toblerone is grounded (Utoblerone = 0 V) in all scenarios addressed.
The first results illustrated in fig. 3.13 show the effect of different mirror grid potentials
Umg = -2000 and -8000 V in the electrons spread. From that figure we conclude that
the higher the mirror grid potential, the larger the electrons spread perpendicular to the
wires direction.
Figure 3.13: Trajectories of electrons generated at x = 1 cm with E = 2 keV for twodifferent emission angles and mirror potentials. [Top left] θxz = 0 and Umg = -2000V; [Top right] θxz = ±3 and Umg = -2000; [Bottom left] θxz = 0 and Umg = -8000;[Bottom right] θxz = ±3 and Umg = -8000. Both axis are in cm. See text for more
details.
The second set of simulations intend to explore the toblerone wires pitch varying it from
dtobwp = 0.5 to 2 mm keeping constant dmgwp = 1 mm and Umg = -2000 V. The results
are illustrated in fig. 3.14, from which we conclude that, as expected, the higher the
toblerone wires pitch, the larger the electrons spread.
In the third set of simulations I varied the mirror grid wires pitch from dmgwp = 0.5 to 2
mm keeping constant dtobwp = 1 mm and Umg = -2000 V. Both conditions present similar
spreading as can be seen in fig. 3.15. If transparency is an issue one can choose dmgwp =
2 mm. Laitinen et al. (2014a) arrived at the same conclusion and give a similar advise.
Chapter 3. Detector design 44
Figure 3.14: Trajectories of electrons generated at x = 1 cm with E = 2 keV for twodifferent emission angles and different wire pitches of the toblerone mirror grid. [Topleft] θxz = 0 and dtobwp = 0.5 mm; [Top right] θxz = ±3 and dtobwp = 0.5 mm; [Bottom
left] θxz = 0 and dtobwp = 2 mm; [Bottom right] θxz = ±3 and dtobwp = 2 mm. Both axisare in cm. See text for more details.
In all simulations presented so far, the mirror grid wires were aligned with the toblerone
wires. In the fourth set of simulations, the mirror grid is shifted in the z-axis by 0.5
mm keeping dmgwp = 1 mm, dtobwp = 1 mm, dt−mg = 5 mm and Umg = -2000 V. The result
is illustrated in fig. 3.16 that if compared with the top two figures of fig. 3.13 one
can conclude that the difference is not significant, being the spread of the shifted one
negligibly larger than the aligned one.
If however we vary the toblerone mirror grid distance from dt−mg = 10 to 15 mm, keeping
the wire pitches at 1 mm, the toblerone grid aligned with the mirror one and Umg =
-2000 V, we obtain the fifth set of simulations illustrated in fig. 3.17. Comparing it
again with the top two figures of fig. 3.13 we can see that for the electrons emitted
with θxz = 0, the larger the toblerone mirror grid distance, the smaller the electrons
spread, but on the other hand for the electrons emitted with θxz = ±3 it seems that
this relation inverts, however without a quantitative analysis the distributions are a bit
inconclusive.
Chapter 3. Detector design 45
Figure 3.15: Trajectories of electrons generated at x = 1 cm with E = 2 keV for twodifferent emission angles and different wire pitches of the mirror grid. [Top left] θxz =0 and dmgwp = 0.5 mm; [Top right] θxz = ±3 and dmgwp = 0.5 mm; [Bottom left] θxz =0 and dmgwp = 2 mm; [Bottom right] θxz = ±3 and dmgwp = 2 mm. Both axis are in cm.
See text for more details.
Figure 3.16: Trajectories of electrons generated at x = 1 cm with E = 2 keV andmirror grid shifted by 0.5 mm in the z-axis. [Left] θxz = 0; [Right] θxz = ±3. Both
axis are in cm. See text for more details.
Chapter 3. Detector design 46
Figure 3.17: Trajectories of electrons generated at x = 1 cm with E = 2 keV for twodifferent emission angles and different toblerone to mirror grid distances. [Top left] θxz= 0 and dt−mg = 10 mm; [Top right] θxz = ±3 and dt−mg = 10 mm; [Bottom left]θxz = 0 and dt−mg = 15 mm; [Bottom right] θxz = ±3 and dt−mg = 15 mm. Both
axis are in cm. See text for more details.
3.2.2.4 Electron transport: Magnetic mirror
Due to the singular effects of the wires that compose the electrostatic mirror I decided to
investigate the possibility of replacing the electrostatic mirror by a magnetic one. After
simulating different scenarios using COSY Infinity coupled with Garfield I realized that
even if the position resolution approaches the results of the electrostatic mirror, the
isochronous behavior of the trajectories is not preserved in any of the possible cases,
which significantly decreases the time resolution. Another problem is related to the
physical size required for a magnetic dipole that is able to bend electrons with E = 1 to
4 keV.
3.2.3 Electron detection: MCP with delay line anode (DLA)
The micro-channel plate is a wafer made of special glass with an array of micro holes
acting as a continuous dynode chain (for more details, refer to Gys (2015)). After a
bidding including the most important producers of MCP delay line detectors (DLD),
RoentDek was appointed as supplier for the equipment. A detailed description of the
Chapter 3. Detector design 47
complete system can be found in the manual RoentDek1 (2017) and Jagutzki et al.
(2002). Below is a list of the items purchased from RoentDek:
• DLD40EP: it is a two dimensional delay-line-detector including two MCPs with
an Open Area Ratio (OAR) of 90% and active diameter > 40 mm;
• FT12-TP(/hvz,/150): 12-pin-ceramics-UHV-feedthrough and HF signal decoupler
with an integrated HVZ voltage divider unit and CF150-CF35 adapter flange;
• HV2/4: 2×4kV power supply with low ripple, regulated current limitation and
protection;
• HV4+: unit to match the resistance of the two MCPs using an intermediate con-
nection, and a shim copper ring.
The detector was mounted according to chapter 2 of the manual, as can be seen in fig.
3.18. Figure 3.19 shows a sketch of the detector mounted on a CF150 flange.
Figure 3.18: Pictures of the DLD40 with the MCPs stack before installation.
Usually the composition of two or more MCPs is done with MCPs having the same
resistance, that is called a matched stack. In this way, you just need two power supply
channels to bias the stack, once the voltage is equally divided between the MCPs. In
our case, we purchased two special MCPs with 90% OAR. Building a matched stack
with those MCPs would be much more expensive, therefore we matched the MCPs in
our laboratory with the introduction of an external resistor in parallel to the MCP with
higher resistance, as explained in section 5.5.1 of the Power Supply manual (RoentDek2,
2017).
The HVZ module as described before is a voltage divider unit integrated to the FT12-TP
module. Figure 3.20 shows a picture of the front panel and internal jumper settings of
FT12-TP. This module makes it possible to use only two power supply channels, one
is applied directly to the front MCP and the other (USig) instead is divided into MCP
Chapter 3. Detector design 48
Figure 3.19: Sketch of the DLD40 detector mounted on a CF150 flange with theFT12 feedthrough, extracted from (RoentDek1, 2017).
back (UMCPback), delay-line anode holder, reference wires and collecting signal wires in
a way that
UMCPback = USignal − 260, (3.1)
UReference = UMCPback + 224, (3.2)
UHolder = UMCPback + 56. (3.3)
The X port of fig. 3.20 however is connected to the shim ring placed between the two
MCPs.
Figure 3.20: [Left] Picture of the front panel of the FT12-TP module. [Right] Theinternal jumper settings of that module.
Chapter 3. Detector design 49
Therefore the easiest way to match the resistance of the MCPs, as suggested in Roent-
Dek2 (2017), is by placing the MCP with higher resistance, the thicker one, in the front
due to the ease of placing a resistor in parallel.
In order to determine the required resistance for the matching resistor, we must know the
resistance of the front and back MCPs. Therefore I measured the front MCP resistance
by applying Ux = 500 V and Uf = 0 V with the power supply HV2/4 that allows to
measure also the current. We obtained If = 0.022 mA, which gives Rf = 22.7 ± 0.5
MΩ. Figure 3.21 illustrates the circuit analyzed.
Figure 3.21: Voltage divider circuit used to match the MCPs resistance.
The back MCP resistance was determined by subtracting Rf from the total resistance
Rtot measured without Rm, by applying Us = 2160 V and Uf = 0 V. The current
obtained was itot = 0.009 mA, and from eq. 3.1 we derive Rtot = 240 ± 11 MΩ, which
gives us the value of R + Rb = Rtot - Rf = 217 ± 11 MΩ. The matching condition is
satisfied when1
Rb=
1
Rf+
1
RM(3.4)
from where we obtain,
Rm =RfRbRf −Rb
= 25.8 MΩ, (3.5)
Therefore I installed a 25 MΩ resistor in parallel to the front MCP, obtaining Rtot =
46± 0.5 MΩ, and therefore, Rm+f = 23.3 MΩ, from what we conclude that within the
uncertainty the stack is matched.
The cloud of electrons generated by the MCPs is collected by a DLA composed by two
wire planes each one with two resistive wires wrapped around a ceramic frame, one is
the reference wire and the other the signal wire with a voltage difference of 36 V to
ensure that the electrons cloud is mostly collected on the signal wires. The single pitch
(1 mm) propagation time on the delay line is about 0.75 ns. Then, if a cloud falls 1 mm
on the right of the anode center, the signal traveling to the right will have a time 0.75
ns less than if the cloud had fallen on the center, and the signal traveling to the left will
have 0.75 ns more. Therefore, the difference between them will be twice this value, 1.5
ns corresponding to 1 mm.
Chapter 3. Detector design 50
Figure 3.22: [Left] Corner detail of the DLA extracted from Sobottka and Williams(1988), where the black and white wires represents the signal and reference wires.[Right] Illustration of the delay line operation, which is based on the time difference
between both sides of the resistive wire, provided by RoentDek.
The position information can be retrieved by the following relations
X = x1− x2 +Ox and Y = y1− y2 +Oy (3.6)
where x1, x2, y1 and y2 are the time for each signal, and Ox, Oy are arbitrary offsets.
3.2.4 The detector final design
The position resolution of a CPD with a DLA is mainly determined by the “acceleration
+ mirror” (ac+mir) properties. Even though the “MCP + DLA” alone can reach a
position resolution of 0.1 mm, if composed with an ac+mir system, can reach just a few
mm. The systems realized until now could reach a minimum of 2 mm FWHM (Kosev,
2007; Arnold et al., 2014) or even 3-6 mm FWHM (Lamey, 2004; Vockenhuber et al.,
2009). The aim of this section is to investigate the possibility of improving the position
resolution of the ac+mir system composed by grids. As discussed before, the electrons
are spread mainly in the vicinities of the wires and perpendicular to their direction,
therefore I found it wise for a single frame to have all wires in the same direction. The
introduction of another set of wires perpendicular to the existing one, forming a mesh
grid, would introduce an additional spread in the other direction.
Despite the initial conclusions obtained in subsec. 3.2.2 a deep analysis considering real
electron distributions generated with a Monte Carlo simulation is required in order to
better understand the effect of each parameter involved. For this, I took the setup of fig.
3.12, and from the results of Drexler and DuBois (1996), considering the angular and en-
ergy distributions for forward angles, I generated random electrons following a Gaussian
angular distribution with σφ = 30, µφ = 0, and a Gaussian energy distribution with
σE = 4 eV, µE = 4 eV. I used spherical coordinates to generate the electrons velocity
vectors, where φ is the angle from the x-axis in the xy plane and θ the angle from the
Chapter 3. Detector design 51
z-axis in the yz plane. I randomly generated φ from the Gaussian distribution in the
range [-π/2,π/2] and θ following the sin(θ) distribution, as discussed in the previous
chapter, in the range [0,π]. Electrons were generated in three points at y = 3, 4 and 5
cm with x = -0.492 cm and z = 0 as fig. 3.23 illustrates. Then I analyzed the position
distribution in the y = 8.5 cm plane, that represents the front MCP surface.
Figure 3.23: View from x = -1 of the electron sources at y = 3, 4 and 5 cm, z = 0.The dashed circle represents the hole in the frame of the carbon foil.
In the first set of simulations, 1000 electrons were generated for each of the three points
varying Umir from -1 to -8.5 kV keeping Ufoil = -2 kV, Utob = 0, Ufront = 200, and
looking to the position distribution in the x-axis, I fitted Gaussian functions to the three
observed peaks. The routine that generated the electrons, calling Garfield and fitting
the results was written in C++, and the fitting was performed using ROOT (Brun &
Rademakers, 1997). Peak 1 comes from the point source at y = 3 cm, peak 2 from y =
4 cm and peak 3 from y = 5 cm. The results of fig. 3.24 are displayed in terms of the
full width half maximum obtained from FWHM = (2√
2ln2)σipeak, where i refers to the
peak number, as a function of the ratio Umg/Ufoil . The black curve was obtained from
the ratio of electrons that cross the mirror without being bended by the total number
of electrons generated, multiplied by 100, which is the percentage of electrons lost. The
minimum observed at around Umg/Ufoil = 0.75 corresponds to the maximum position
resolution. However, at this ratio 1 % of the electrons cross the mirror without being
bended, therefore, maybe the best compromise is Umg/Ufoil = 1, which has full bending
efficiency.
Until now the electrons were generated along the y-axis, however, as discussed before
the spread of the electron trajectories takes place mainly perpendicular to the wires
direction which corresponds to the z-direction in our setup. Therefore I idealized a new
set of simulations similar to the above one, but now considering 3 electron sources at
y = 3, z = -1; y = 4, z = 0; and y = 5, z = 1 cm, at 0.03 mm from the foil as fig.
3.25 illustrates. The C++ code used to perform the following simulations can be found
in Appendix B. The projection in the x-axis of the final distribution was fitted with the
Chapter 3. Detector design 52
0
1
2
3
4
5
6
0 0.5 1 1.5 2 2.5 3 3.5 4 0
1
2
3
4
5
6
FW
HM
(m
m)
Ele
ctr
ons lost
(%)
Umg/Ufoil
Peak 1
Peak 2
Peak 3
Lost (%)
Figure 3.24: Position resolution obtained from the x projection as a function of theratio of mirror (Umg) and acceleration (Ufoil) potentials. The black curve represents
the percentage of electrons lost. See text for more details.
sum of three Gaussian functions,
f =[0]√2π[1]2
e−(x−[2])2
2[1]2 +[3]√2π[4]2
e−(x−[5])2
2[4]2 +[6]√2π[7]2
e−(x−[8])2
2[7]2 , (3.7)
obtaining therefore 9 parameters ([0] until [8]) with corresponding errors. The projection
in the z-axis of the final distribution however was fitted imposing that all three Gaussian
functions have the same area under the curve,
g =[0]√2π[1]2
e−(x−[2])2
2[1]2 +[0]√2π[3]2
e−(x−[4])2
2[3]2 +[0]√2π[5]2
e−(x−[6])2
2[5]2 , (3.8)
obtaining 7 parameters with respective errors. This was done because the tails of those
peaks overlap each other.
Figure 3.25: View from x = -1 of the electron sources at y = 3, z = -1; y = 4, z = 0;and y = 5, z = 1. The dashed circle represents the hole in the frame of the carbon foil.
Fig. 3.26 presents the position resolution results obtained from the x and z projections
varying the ratio of mirror and acceleration potentials (Umg/Ufoil). The black curve
Chapter 3. Detector design 53
was obtained from
Lost electrons = 1− n electrons detected
n electrons generated. (3.9)
The constant value of Lost electrons = 0.058 ± 0.003 in the interval Umg/Ufoil = 0.75
→ 2 comes from the electrons loss in the wires. It reflects the geometrical opacity of the
grids in the electrons path, which is defined as the ratio of area covered by the wires by
total inner area of the frame. If we consider a square frame of length l, with the wires
distributed in the center of the frame with a pitch dwp and wire diameter dw, the harp’s
opacity is:
Opacity =n wires× trasversal area of one wire
total area=
(l/dwp)dwl
l2=
dwdwp
, (3.10)
and the transparency of the harp is defined as (1 - Opacity). For dw = 20 µm and dwp
= 1 mm, the opacity is 0.020, which if multiplied by the number of grids in the way of
the electrons cloud, that are 3, we obtain 0.06 ' Lost electrons. Returning to the graph,
there is a minimum in the zf curves at 0.88 which represents a better compromise.
0
5
10
15
20
25
0.5 0.75 1 1.25 1.5 1.75 2 0
5
10
15
20
25
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
Umg/Ufoil
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.26: Position resolution obtained from the x and z projections as a function ofthe ratio of mirror (Umg) and acceleration (Ufoil) potentials. The black curve representsthe percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, Ufoil =-2 kV, Utob = 0, Ufront = 200 V, dfg = 5 mm and dt−mg = 5 mm. See text for more
details.
As introduced before, without considering border effects, the electrons spread decreases
for larger foil to ac grid distances. However if one considers border effects, the results
are currently hazy. Therefore the second set of simulations are dedicated to analyze the
effects of this parameter in the position resolution for the finite size complete setup, the
same illustrated in fig. 3.12. The results are presented in fig. 3.27 where Ufoil = -2 kV,
Umg = -1.75 kV, Utob = 0, Ufront = 200 V, dwp = 1 mm and dt−mg = 5 mm. There
Chapter 3. Detector design 54
is no clear or pronounced minima in the xf curves. In the zf curves instead there is a
global minimum in the peak 3 curve at around dfg = 13.75 mm, in the peak 2 curve at
dfg = 15 mm and in the peak 3 curve at dfg = 15 mm. Therefore I chose to explore the
possibilities of dfg = 15 mm.
2
4
6
8
10
12
14
5 10 15 20 25 2
4
6
8
10
12
14
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dfg (mm)
Peak 1xf
Peak 2xf
Peak 3xf
Lost (%)
Peak 1zf
Peak 2zf
Peak 3zf
Figure 3.27: Position resolution obtained from the x and z projections as a functionof the distance between foil and acceleration grid (dfg). The black curve represents thepercentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, Ufoil = -2kV, Umg = -1.75 kV, Utob = 0, Ufront = 200 V and dt−mg = 5 mm. See text for more
details.
Varying now dt−mg for dfg = 15 mm we obtain the results illustrated in fig. 3.28. In the
zf curves for peak 1 there is a minimum at dt−mg = 8.75 mm and for peak 2 at dt−mg =
7.5 mm, however for peak 3 there is a local minimum at dt−mg = 10 mm and a global
minimum at dt−mg = 5 mm. In the xf curves instead the global minimum is at dt−mg
= 13.75 mm. Therefore, considering that at dt−mg = 7.5 mm the curves for the three
peaks in both xf and zf directions converge to a common value, it seems that a good
compromise is dt−mg = 7.5 mm.
If we go back to the dfg simulations but now zooming in dfg = 5 to 15 mm for dt−mg =
7.5 mm, we obtain the results of fig. 3.29. As done before, the strategy chosen to select
the best value was the qualitative analysis of the minima observed in all the curves.
Thus, we have two possibilities, dfg = 12.5 mm due to the coincident minima in the zf
curves of Peak 1 and 3, and dfg = 12 mm due the absolute minimum of Peak 2 curve
which is near the other two minima, but considering the larger error bars of Peak 2
curves I decided to choose dfg = 12.5 mm.
Chapter 3. Detector design 55
0
2
4
6
8
10
12
14
2.5 5 7.5 10 12.5 15 0
2
4
6
8
10
12
14
16
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dt-mg (mm)
Peak 1xf
Peak 2xf
Peak 3xf
Lost (%)
Peak 1zf
Peak 2zf
Peak 3zf
Figure 3.28: Position resolution obtained from the x and z projections as a functionof the distance between toblerone mirror grid and mirror grid (dt−mg). The black curverepresents the percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1mm, Ufoil = -2 kV, Umg = -1.75 kV, Utob = 0, Ufront = 200 V and dfg = 15 mm.The peaks of dt−mg = 15 mm were fitted using eq. 3.7, because the third peak was half
blocked due to border constrains. See text for more details.
2
3
4
5
6
7
8
9
10
11
5 7.5 10 12.5 15 2
3
4
5
6
7
8
9
10
11
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dfg (mm)
Peak 1xf
Peak 2xf
Peak 3xf
Lost (%)
Peak 1zf
Peak 2zf
Peak 3zf
Figure 3.29: Position resolution obtained from the x and z projections as a functionof the distance between foil and acceleration grid (dfg). The black curve represents thepercentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, Ufoil = -2kV, Umg = -1.75 kV, Utob = 0, Ufront = 200 V and dt−mg = 7.5 mm. See text for
more details.
Chapter 3. Detector design 56
Returning also to the Umg/Ufoil simulations, but now with dt−mg = 7.5 mm and dfg =
12.5 mm, we obtain the results of fig. 3.30. Considering both xf and zf curves I chose the
minimum at Umg/Ufoil = 0.7 and keeping this ratio constant I varied Ufoil obtaining
the results of fig. 3.31, from where we can see that for the zf curves, FWHM reaches
a constant minimum value at Ufoil ' -3 kV, and for the xf curves at Ufoil ' -4.5 kV.
As reported by Klingelhoefer, Wiacker, and Kankeleit (1986), the absolute detection
efficiency of an MCP for electrons of 1 → 5 keV with incident angle of 0 is higher than
80%, and for electrons of 5→ 15 keV with incident angle of 0 is between 70% and 80%.
3
4
5
6
7
8
9
10
11
0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 3
4
5
6
7
8
9
10
11
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
Umg/Ufoil
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.30: Position resolution obtained from the x and z projections as a function ofthe ratio of mirror (Umg) and acceleration (Ufoil) potentials. The black curve representsthe percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, Ufoil =-2 kV, Utob = 0, Ufront = 200 V, dfg = 12.5 mm and dt−mg = 7.5 mm. See text for
more details.
From the previous simulations it became clear that in the perpendicular direction with
respect to the wires which are parallel to the xy plane, the position resolution is more
than two times larger than the one in the wires direction. This is due to the effect of
the accelerating and toblerone mirror grids, the ones crossed by the electrons. Therefore
the only way to improve the position resolution in the perpendicular direction to the
wires is to rotate by 90 one of those grids and find out the parameters that give the
best position resolution. This seems to be the same choice made by Arnold et al. (2014),
mentioned in section 2.2 of their paper.
In the first set of simulations I rotated the toblerone mirror grid by 90 with respect to
the normal axis, keeping dw = 20 µm, dwp = 1 mm, dfg = 10 mm, dt−mg = 10 mm, Utob
= 0, Ufront = 200 V, varying Umg/Ufoil and the result was not satisfactory, because
in the x direction, peaks 1 and 2 overlapped for Umg/Ufoil > 1.1 and for Umg/Ufoil <
Chapter 3. Detector design 57
1
2
3
4
5
6
7
8
9
10
-6 -5.5 -5 -4.5 -4 -3.5 -3 -2.5 -2 -1.5 -1 1
2
3
4
5
6
7
8
9
10
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
Ufoil(kV)
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.31: Position resolution obtained from the x and z projections as a function ofthe acceleration voltage (Ufoil). The black curve represents the percentage of electronslost. Parameters used: dw = 20 µm, dwp = 1 mm, Umg/Ufoil = 0.7, Utob = 0, Ufront
= 200 V, dfg = 12.5 mm and dt−mg = 7.5 mm. See text for more details.
1.1, σ1,2peak > 0.3 mm. In the z direction instead the situation was found similar to the
previous setup, therefore I found no advantages in using this kind of setup.
For this reason, instead of rotating the toblerone mirror grid I rotated the acceleration
grid by 90, making its wires parallel to the z axis. In the following figures I present the
results with the ac grid rotated employing now a quantitative analysis to find the best
compromise. The parameters chosen in the following results are the ones that minimizes
the quantity:
Minimizer =
3∑i=1
√(σxfipeakσσxfipeak
)2 + (σzfipeakσσzfipeak)2. (3.11)
From the results of fig. 3.32 I obtained Umg/Ufoil = 0.8 as the value that minimizes eq.
3.11. From fig. 3.33 I obtained dfg = 7.5 mm and from fig. 3.34, dt−mg = 10 mm.
As the position resolution in the z direction is still two times the xf direction one, I
decided to decrease the inter wires distance of the toblerone’s mirror grid to dtmgwp = 0.5
mm. Fig. 3.35 shows the results for different Umg/Ufoil, where I obtained Umg/Ufoil =
1, from fig. 3.36, dfg = 10 mm and from fig. 3.37 dt−mg = 8.75 mm.
Following the same procedure as described before, but now reducing the wires pitch of
the acceleration grid to dacwp = 0.5 mm, I found dfg = 9 mm and dt−mg = 9 mm for
Umg/Ufoil = 1 that minimizes FWHM. Those values therefore were adopted for the
electrostatic mirror design and operation. As a conclusion, it seems very unlikely to find
Chapter 3. Detector design 58
2
3
4
5
6
7
8
9
0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2
3
4
5
6
7
8
9
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
Umg/Ufoil
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.32: Position resolution obtained from the x and z projections as a function ofthe ratio of mirror (Umg) and acceleration (Ufoil) potentials. The black curve representsthe percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, Ufoil =-2 kV, Utob = 0, Ufront = 200 V, dfg = 10 mm and dt−mg = 10 mm. See text for more
details.
2
3
4
5
6
7
8
9
5 7.5 10 12.5 15 17.5 2
3
4
5
6
7
8
9
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dfg (mm)
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.33: Position resolution obtained from the x and z projections as a functionof the distance between foil and acceleration grid (dfg). The black curve represents thepercentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, Ufoil = -2kV, Umg = -1.6 kV, Utob = 0, Ufront = 200 V and dt−mg = 10 mm. See text for more
details.
Chapter 3. Detector design 59
2
4
6
8
10
12
2.5 5 7.5 10 12.5 2
4
6
8
10
12
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dt-mg (mm)
Peak 1xf
Peak 2xf
Peak 3xf
Lost (%)
Peak 1zf
Peak 2zf
Peak 3zf
Figure 3.34: Position resolution obtained from the x and z projections as a functionof the distance between toblerone mirror grid and mirror grid (dt−mg). The black curverepresents the percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1mm, Ufoil = -2 kV, Umg = -1.6 kV, Utob = 0, Ufront = 200 V and dfg = 7.5 mm. See
text for more details.
2
3
4
5
6
7
8
0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
3
4
5
6
7
8
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
Umg/Ufoil
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.35: Position resolution obtained from the x and z projections as a function ofthe ratio of mirror (Umg) and acceleration (Ufoil) potentials. The black curve representsthe percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, dtmgwp =0.5 mm, Ufoil = -2 kV, Utob = 0, Ufront = 200 V, dfg = 10 mm and dt−mg = 10 mm.
See text for more details.
Chapter 3. Detector design 60
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
3.75 5 6.25 7.5 8.75 10 11.25 12.5 13.75 2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dfg (mm)
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.36: Position resolution obtained from the x and z projections as a functionof the distance between foil and acceleration grid (dfg). The black curve represents thepercentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1 mm, dtmgwp = 0.5mm, Ufoil = -2 kV, Umg = -2 kV, Utob = 0, Ufront = 200 V and dt−mg = 10 mm. See
text for more details.
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
0.375 0.5 0.625 0.75 0.875 1 1.125 1.25 1.375 1.5 2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
FW
HM
(m
m)
Ele
ctr
ons lost (%
)
dt-mg (cm)
Peak 1xfPeak 2xfPeak 3xfLost (%)Peak 1zfPeak 2zfPeak 3zf
Figure 3.37: Position resolution obtained from the x and z projections as a functionof the distance between toblerone mirror grid and mirror grid (dt−mg). The black curverepresents the percentage of electrons lost. Parameters used: dw = 20 µm, dwp = 1mm, dtmgwp = 0.5 mm, Ufoil = -2 kV, Umg = -2 kV, Utob = 0, Ufront = 200 V and dfg
= 10 mm. See text for more details.
Chapter 3. Detector design 61
a feasible set of parameters that allows a FWHM lower than 2 mm, even though the
analysis presented is not able to exclude all the possible combinations. This might be
done with a complete Monte Carlo simulation that varies the most influent parameters,
Ufoil, Umg, dfg and dt−mg, minimizing σipeak and transparency. However, this requires
a significant computation power. The simulations described were run on my notebook,
that has an Intel Core i7 processor with 8 GB DDR4 memory and I am running Ubuntu
16.04 in a Virtual Box with 4 GB memory. In these conditions every electron tracked
by Garfield takes at least 1 s to be processed. Therefore, each simulation containing
3000 electrons takes around one hour to be completed (if I am not using the notebook
for other tasks).
3.2.5 The construction process
In this section I describe the electrostatic mirror production. I made the technical
drawings using Inventorr (Autodesk, 2016) and they are displayed in Appendix C. It
is important to point out that the mirror was not rigidly coupled to the MCPs for three
reasons:
• The longer the signal cables in vacuum the larger the attenuation of the time
signals, and the risk of shooting a beam on the MCPs is higher if they are movable,
so we chose to keep it fixed out of the beam trajectory;
• The second reason is that we need a path free to tune the beam in the last Faraday
cup of the separator FC E;
• And third, if the mirror is fixed in the beam direction we risk to break the carbon
foil.
Figure 3.38 shows an exploded view of the electrostatic mirror.
The most challenging part of the mirror construction was the wires welding. A new
set of tolls were developed just for the welding process, and their technical drawings
are displayed in Appendix D. The process was split in two phases to assure a constant
inter wire distance (wires pitch) and homogeneous stretching force. We purchased a
gold plated tungsten-rhenium wire of 0.020 mm ±2% diameter from LUMA METALLr
(LumaMetall, 2019), which has a 20% higher tensile strength than the gold plated tung-
sten wire.
In the first phase the wires are welded in a frame with a 12 x 12 cm square hole, and
in the second phase this frame is placed above the final frame to stretch the wires
Chapter 3. Detector design 62
Figure 3.38: Exploded view of the electrostatic mirror made with Inventorr.
equally and weld them in the final frame. The inter wire distance is determined by the
weaving machine illustrated in fig. 3.39, and can be varied between dwp = 0.5, 1, 2
and 4 mm according to the selected set of gears. The waving machine was produced
by the CINELr company in 1994. After replacing the motor, and fixing the controller,
I developed three tools for the first welding phase. They are the inner thick white
frame, the metallic square frame and the copper strips. The white frame as illustrated
in Appendix D was produced by a 3D printer and holds four metallic frames at a time,
which are stainless steel made. Each metallic frame carries two copper strips where the
wires are welded. After stopping the weaving machine, with a soldering paste2 and a
hot air tool I weld the wires of all four frames once at a time. A few minutes after
cooling the soldering I cut the wires with a rolling cutter, to avoid detaching the wires,
and unscrew one frame to be used in the next phase.
The second phase is illustrated in fig. 3.40, where the metallic frame is attached in a
second 3D printed frame which can slide along two greased metal rods, which in turn are
fixed in a metal base that has a movable support to hold the final frame. After mounting
all the pieces, the final frame is positioned using a magnifying glass to verify that the
wires are parallel to the inner border of the final frame. To avoid a thick soldering I
first spread the soldering paste with a small hot air flux and starting from one corner
increasing the hot air flux I slowly weld the paste. A thin line of welding paste of
around 1.5 mm diameter is enough to hold the wires. The hot air temperature should
be the lowest possible to avoid burning the flux that is in the paste, which is useful
to efficiently conduct the heat producing a good soldering. Once the frame cooled off I
kindly raise a little bit the outer frame, this way the outer wires become unstrained, then
2We used the soldering paste Multicore 291266, which is composed by 62 % tin, 36 % lead and 2 %silver alloy.
Chapter 3. Detector design 63
Figure 3.39: Pictures of the tools used in the first welding phase.
we can safely cut them without risking detachments. After that, the welding and the
remaining points of the cut wires are covered with an insulating adhesive tape made of
heat resistant silicone glass fabric to decrease the risk of sparks due to the high voltages
to be applied.
Figure 3.40: Pictures of the second welding phase, where [Left] shows a bottom viewof the frame that holds the intermediate wires frame, [Center] shows a frame of theelectrostatic mirror in the welding process and [Right] shows the soldering paste used.
One important issue faced at this stage is related to the material chosen for the frames.
We had initially chosen copper because of the possibility of obtaining thin frames and
smooth conductive surface, however, the thermal coefficient of expansion of copper is
4 times larger than the one of tungsten and the thermal conductivity is twice larger.
The result is that during the cooling process, the welding heat is quickly dissipated
Chapter 3. Detector design 64
being solidified attaching the wires and the copper frame contracts 4 times more than
the tungsten wire, causing a loss of wire tension. The solution for this problem was
replacing the copper frame by a laminate FR-4 frame (common material to produce
printed circuit boards) with double sided copper sheet, because, even if its coefficient of
expansion is 3 times larger than the one of tungsten, its thermal conductivity is 580 times
smaller. Fig. 3.41 shows part of the mounting process of the electrostatic mirror. The
MCPs stack together with the electrostatic mirror were mounted in the MCP chamber
in the end of the ERNA line situated right after SS6.
Figure 3.41: Pictures of the mounting process of the electrostatic mirror.
3.3 Stop 2D detector
The stop 2D position sensitive time detector is based on the Multiwire Proportional
Chamber introduced by Charpak in 1968 (Charpak, Bouclier, Bressani, Favier, & Zu-
pancic, 1968; Charpak, Rahm, & Steiner, 1970), where the avalanche multiplication
takes place around every single wire of the anode in the same way as in a cylindrical
single wire proportional chamber. It is composed mainly by two cathode planes with
a parallel wire plane anode in the middle. It differs from the parallel grid avalanche
counter where the anode is a foil. The Charpak’s work was followed by several articles
investigating the detector properties and applications. A brief review of the multiwire
proportional chamber can be found in Charpak’s Nobel lecture (Charpak, 1992). One
of the most important features related to this kind of avalanche detector as described
by Charpak (1993) is that the initial very fast increase of the pulse is not due to the
electrons collection by the anode wire, but due to the induced negative charge caused
by the ions distancing from the wire.
Another important feature explored by Breskin (1982) is that the lower the gas pressure,
the faster will be the time signal, because the avalanche multiplication starts in the
constant field region between the cathode and anode wire planes. There he also verifies
that the charge pulses increase with increasing inter grid distance. Typical pulse heights
were 5 to 100 mV at pressures of 0.3 → 5.5 Torr. The rise-time over this pressure range
Chapter 3. Detector design 65
is of the order of 2.5 → 3 ns for a 3.2 mm gap between cathode and anode and about
2 ns for a gap of 1.6 mm. The reduced electric field strength E/P in the constant field
collection region was around 500 Vcm−1Torr−1.
Instead of a Multiwire Proportional Chamber, our detector can be better described as
a Multiwire Proportional Counter (MWPC), considering that it is not a chamber itself,
but a multiwire dispositive that can be mounted inside any gaseous chamber as will
be described soon. The first version is composed of a anode harp between a pair of
position sensitive parallel wire planes, which in turn are between two cathode harps.
The second version instead is composed by three MWPC: one anode harp between two
cathodes harps, and a pair of position sensitive parallel wire planes (PS-MWPC) each
one between two cathode harps.
3.3.1 The position sensitive parallel wire plane
Similar to the MCP’s DLA, the position sensitive parallel wire planes obtain the position
information from the time difference between the two sides of a delay line. But in this
case the delay line is composed by passive inductances and capacitances as fig. 3.42
illustrates. This kind of delay line was used before by Kumagai et al. (2013).
Figure 3.42: Sketch of the delay line circuit implemented in the position sensitiveparallel wire plane.
The time delay is given by
Td = n√LC (3.12)
where n is the number of LC pairs. The impedance of the line can be calculated by
Z(ω) = Z0
√1− LCω2
4(3.13)
where Z0 =√
LC is the characteristic impedance of the line and ω the frequency of the
signal. Considering that I was expecting signals of approximately 1 - 2 ns rise time, I
chose to have a time difference between two wires of 4 ns with a characteristic impedance
of 50 Ω as commonly used, obtaining therefore C = 80 pF and L = 0.2 µH.
Chapter 3. Detector design 66
The size of the detector was determined considering the constrains imposed by the ICT.
The entrance window of the ICT is screwed in a Teflon nose as shown in fig. 3.43. The
window is an aluminized polypropylene terephthalate foil of 2 µm thickness. The outer
diameter of the window frame is 8 cm and the inner diameter is 4 cm. These values
were taken into account as a guide line for the detector’s design. A printed circuit board
(PCB) with a built-in LC delay line composed by 0402 components was developed, and
later manufactured by ARTEL S.r.l. (PCB engineering). A picture of the delay line
PCB, and a blank PCB used for the anode and cathode is displayed in fig. 3.44. The
technical drawings of the position sensitive parallel wire plane can be found in Appendix
E.
Figure 3.43: Picture of the entrance window of the ICT.
3.3.2 Detector construction
The welding process was exactly the same as described in section 3.2.5, except by the
hot air temperature that was significantly decreased to avoid damaging the PCBs. Some
pictures of the welding process are displayed in fig. 3.45. In order to avoid sparks between
the PCBs, the same heat resistant silicone glass fabric used before was employed to cover
all the conductive surfaces of the PCBs. The final wafer setup mounted in the teflon
nose is illustrated in fig. 3.46. In the final configuration an HV decoupler circuit was
installed as will be discussed in section 3.4.1.
3.4 Electronics
The time pick-off and the MWPC detectors require a very similar signal processing,
considering that both of them produce two fast time signals coming from a delay line
Chapter 3. Detector design 67
Figure 3.44: [Left] Back view of the blank PCB in the top and position sensitiveparallel wire plane in the bottom. [Right] Front view of the blank PCB in the top andposition sensitive parallel wire plane in the bottom. The wires are welded in the front
surface.
Figure 3.45: Pictures of the second welding phase, where wires are welded in the[Left] position sensitive parallel wire plane and [Right] in the anode frame.
Chapter 3. Detector design 68
Figure 3.46: Pictures of the mounting process of the MWPC wafer.
and one from the anode. All the signals require amplification before passing through a
constant fraction discriminator (CFD), being then acquired by a time to digital converter
(TDC). The only difference is that the signals from the position sensitive parallel wire
plane and anode harp require pre-amplification, because they are of the order of mV.
It took some time to find out the best pre-amplification in order to have a good time
signal as will be discussed in the next section.
The electronics used for the time pick-off detector signal processing is composed by a
Fast Timing Amplifier (FTA) and a constant fraction discriminator (CFD). The FTA
and CFD have the following specifications:
• FTA 820 - Ortec
Gain: 200, non-inverting;
8 channels: Eight separate and identical amplifiers;
Output range: 0 to -5 V with 50 Ω impedance;
Rise time: ≤ 1 ns.
• CFD N843 - CAEN
16 inputs: negative polarity, 50 Ω impedance;
Maximum input voltage: -5 V;
Threshold range: -1 mV to -255 mV;
Threshold range: 20 %;
Chapter 3. Detector design 69
Max outputs time walk: ±400 ps for input signals in the range from -50 mV
to -5 mV with 25 ns rise time.
3.4.1 Signal processing
I made a simple test just with the aluminized window, one cathode and the anode. In
this test I varied the gas pressure, voltage applied and distance between them, but I was
not able to see the signals from the anode, nether after nor before the FTA due to the
high amount of noise and lack of pre-amplification. The investigation of the origin of the
noise is described in Appendix F. I concluded that the decoupling of the anode from high
voltage should be done inside the chamber, because the longer the signal travels without
amplification, the larger its attenuation and the larger the amount of noise introduced.
Therefore all the signal operation, decoupling and filtering before pre-amplification were
performed inside the ICT. The circuits added to the anode and to the position sensitive
parallel wire plane are illustrated in figs. 3.47 and 3.48 respectively. Figures 3.49 and
3.50 show some pictures of the welding process of the HV decoupling circuit and the
final PCBs wafer configuration, respectively.
Figure 3.47: Circuit to decouple the anode signal from HV.
We purchased the VT120 Fast-Timing Preamplifier which solved our problems. The
Ortec VT120 has the following specifications:
• VT120A - Ortec
Gain: 200, non-inverting;
Output range: 0 to -5 V with 50 Ω impedance;
Rise time: ≤ 1 ns;
Power required: +12 V, 50 mA.
Due to its high gain, instead of a FTA820 I used the FTA420 to amplify the signals after
pre-amplification. The FTA420 has the following specifications:
Chapter 3. Detector design 70
Figure 3.48: Circuit to filter the low frequency signals from the position sensitiveparallel wire plane.
Figure 3.49: Pictures of the decoupler circuit welding of [Left, Center] the positionsensitive parallel wire plane and [Right] the anode harp.
Figure 3.50: Pictures of the MWPC wafer.
Chapter 3. Detector design 71
• FTA 420 - Ortec
Gain: 20, non-inverting;
4 channels: Four separate and identical amplifiers;
Output range: 0 to -5 V with 50 Ω impedance;
Rise time: ≤ 1 ns.
In order to delay the signals for acquisition I used the EG&G-ESN Octal Gate Generator
GG8000.
Chapter 4
Data Taking and Analysis
In this chapter, from section 4.1 until 4.3 I describe the experiments and simulations
carried out to better understand the optics of the ERNA separator, and from section
4.4 until the end I describe and analyze the experiments performed to characterize the
two stages of the tracking detector.
4.1 ERNA alignment
In order to investigate the optics of the new layout of ERNA designed to extend the
measurements to lower energies (section 1.5), it became necessary to check the alignment
of the ERNA separator starting from the switching magnet until the ionization chamber.
Two telescopes and two theodolites in different positions were used. All the elements
were aligned within ±0.1 mm. The accepted tolerance was the result of a study I
performed using the erna.2.3.fox code (Appendix A) that simulates the ERNA line in
the COSY Infinity environment (Berz, 2013). As will be described in the next section,
considering the kinematics of the 12C(α,γ)16O reaction, three 16O-recoils envelopes were
generated for the central energy of 8 MeV, which corresponds to Ecm = 2.67 MeV, where
there is the narrow Jπ = 2+ resonance at Ex = 9.84 MeV. As illustrated in Fig. 4.1, one
has 8 MeV, with 25 mrad divergence and circular beam spot of 3 mm, and the other
two have 7.7 MeV and 8.3 MeV with 15 mrad divergence and circular beam spot of 3
mm. The respective tuning of the separator can be found in Table 4.1.
Figure 4.2 illustrates the vertical and horizontal misalignment effects in the transmission
of 600 selected rays, 200 for each of the three energies considered. For these tests ± 4σpos
was assumed. From these results one can conclude that CSSM (charge state selection
magnet) and Triplet are more sensitive to vertical misalignments, and the Doublet is
72
Chapter 4. Data Taking and Analysis 73
Figure 4.1: The xz plane is illustrated on the left side, and the yz plane on the rightside. 16O recoil trajectories in the ERNA separator for three envelopes: the red cone isat the central energy 8 MeV, with 25 mrad divergence and beam spot of 3mm diameter;the blue cone corresponds to 8.3 MeV, 15 mrad divergence and 3 mm diameter; the
yellow cone corresponds to 7.7 MeV, 15 mrad divergence and 3 mm diameter.
Table 4.1
ERNA elements Tuning
CSSM B (mT) 684.4
Triplet ext B (mT) 147.0
Triplet int B (mT) 167.8
WF1 U total (kV) 60.0
Singlet (mT) 76.9
60 Dipole B (mT) 887.7
Doublet L1 (mT) 141.1
Doublet L2 (mT) 152.5
WF2 U total (kV) 40.0
more sensitive to horizontal misalignments. The other elements are robust against these
misalignments.
A subsequent study was carried out in order to evaluate the effects of tilt and rotation
misalignments. All the elements were tilted one by one in the horizontal and vertical
direction, and the transmission was 100 % for all the cases in a range of -10 to 10 mrad.
The same was observed for rotation in a range of -1 to 1. These values represent
extreme cases, where ± 5σpos was assumed, which reflects the robustness of the separator
transmission against misalignments.
4.2 ERNA mapping
As a requirement to investigate the possibility of getting a better E1 and E2 separation
through a tracking detector (section 1.5), I studied the possibility of retrieving the initial
Chapter 4. Data Taking and Analysis 74
92
93
94
95
96
97
98
99
100
101
0 1 2 3 4 5 6 7 8
Tra
nsm
issio
n(%
)
ERNA elements
dx = 1 mm
dy = 1 mm
dx = -1 mm
dy = -1 mm
Figure 4.2: 16O+5-recoils transmission through the separator obtained for differenthorizontal (dx) and vertical (dy) misalignments. The ERNA elements numbers corre-spond to 1 = CSSM, 2 = Triplet, 3 = Wien filter 1, 4 = Singlet, 5 = 60 Dipole, 6 =
Doublet and 7 = Wien filter 2.
angular distribution of the recoils, from the distribution obtained with the tracking de-
tector. Therefore we mapped the beam inside the ERNA line and compared the results
with optical calculation. In this section I present the scans performed in different posi-
tions along the separator using the available slits for different angles at target position.
The slits position along ERNA are illustrated in fig. 2.2. It is important to point out
that slit systems 1 and 4 do not have the vertical slits. The beam was deflected employ-
ing the deflection unit described by Rapagnani (2017), from where we know that the
measured calibration curve for a beam of 12C+2 at 3 MeV for just one stage of the de-
flection unit is given by θ12C = (2.68∆V +0.11) mrad with ∆V given in kV. In this way,
scaling for 16O+5 at 8 MeV, the calibration equation becomes θ16O = 1516(2.68∆V +0.11)
mrad, which should be doubled if using two stages.
The tunings used in this section for ERNA were obtained by scaling a tuning performed
at E16O+5 = 8 MeV, which considering the energy loss in the target corresponds to
the 2+ resonance at E∗16O = 9.84 MeV (E16O = 8.04 MeV). However, while checking
the beam centering in FC D (the Faraday cup before the 60 dipole magnet), which is
mandatory to have full transmission until the last Faraday cup we had to scale ERNA
to 7.981 MeV.
To better define the beam size and angle at target position, a collimator with a high
ratio length/diameter can be used. The collimator used was 3 mm diameter, 23 mm
length and was placed in the jet cell’s entrance, currents in FC E (the last Faraday cup
of the separator, see fig. 2.2) were in the order of 100 nA. Smaller diameters, although
allowing for still measurable currents, led to very large fluctuations, e.g. ±50% with a 1
mm diameter collimator.
Chapter 4. Data Taking and Analysis 75
In order to determine the center of the beam distribution, we used the upper slit in
the vertical axis and the right slit in the horizontal axis (as seen in beam direction)
measuring the current and slit position for 90%, 50% and 10% transmission as described
bellow:
• The total current was measured before and after every set of 90%, 50% and 10%
positions;
• For 90%, the transmission was calculated considering the total current measured
before the set;
• For 50%, it was calculated considering the average between the total current mea-
sured before and after the set;
• For 10% it was considered just the total current measured after the set.
We measured the current in FC E (the last Faraday cup of the separator) using the
Keithley Electrometer in the average mode and with a LabVIEW routine, developed
by Giuseppe Porzio, we performed the average of 5 current samples. The FC E was
suppressed with -410 V.
In order to calculate the transmission uncertainty, a 5% error on the current was assumed
due to the observed fluctuations while measuring. We fitted the transmission points with
the following equation:
T = 50[erf((x− xc)d′)] + 50 , (4.1)
where d′ = 1σ√
2for a Gaussian beam distribution. The fittings were performed using
Minuit in ROOT, from which I extracted the parameter xc as being the beam center
with its respective error as being its uncertainty. We assumed an 0.25 mm uncertainty
for every position measurement.
In section 4.3.5 are reported the Accelerator (A.t.) and ERNA tunings (E.t.) used to
obtain the following trajectories.
4.2.1 Undeflected beam mapping
On the horizontal plane we see from fig. 4.3 that in both tunings the beam was not
exactly in the geometrical center of the separator. Due to the lack of a slit in front of
the target, we were not able to estimate the angle at target position. We can not use the
first slit system because it comes after the CSSM which changes the angular distribution
of the beam in both directions.
Chapter 4. Data Taking and Analysis 76
-6
-4
-2
0
2
4
6
0 2 4 6 8 10 12 14
Po
sitio
n (
mm
)
Distance from target (m)
Right slit, A.t.1, E.t.1
Right slit, A.t.2, E.t.2
Up slit, A.t.1, E.t.1
Up slit, A.t.2, E.t.2
Figure 4.3: Plot of the center of the beam distribution measured with the Right slitsand Up slits of the ERNA line without deflecting the beam in the target position for
two set of tunings, A.t. 1, E.t. 1 and A.t. 2, E.t. 2.
Using E.t. 1 and E.t. 2, I performed simulations with COSY to somehow reproduce
the experimental data, which was only possible by assuming an initial deflection and
small misalignments (±0.5 mm) for the 60 Dipole Magnet. During those simulations I
realized that the CSSM magnetic field calculated by COSY for a 16O+5 beam at 8 MeV
is 8.5 mT lower than the experimental one and for the 60 Magnet is 8.6 mT lower than
the experimental one. There can be some explanations:
• The nominal geometric radius does not correspond to the real one which can be 5
mm smaller for the CSSM. This was later verified and the radius implemented in
the COSY code corresponds to the real one;
• The fringe fields considered by COSY do not reproduce the real ones changing by
consequence the effective radius. It must be very different to change significantly
the effective radius;
• The field at the borders get saturated forcing us to increase the field in order to
bend the beam to the correct angle.
The most likely explanation for the CSSM deviation is a combination of the second and
third ones, instead for the 60 Dipole the third explanation seems to be the best one,
which can be verified by performing a simple measurement: changing the charge state
of the beam or varying its energy to see if the magnetic field changes linearly or not.
Chapter 4. Data Taking and Analysis 77
4.2.2 ±30 mrad mapping
Fig. 4.4 shows the results for the ±30 mrad deflection at target position using tunings
A.t. 1 and E.t. 2. In order to qualitatively reproduce both trajectories using COSY,
I considered the same initial deflection and 60 Magnet misalignments as considered in
the previous section. The difficulty in reproducing the slits position near the 60 Magnet
might also be due to a contribution from the magnetic vertical steerer between Singlet1
and 60 Magnet, which can not be implemented in COSY, having its effect not included
in the calculations.
-40
-30
-20
-10
0
10
20
30
40
0 2 4 6 8 10 12 14
Po
sitio
n (
mm
)
Distance from target (m)
Right slit, -30 mrad
Right slit, +30 mrad
Up slit, -30 mrad
Up slit, +30 mrad
Figure 4.4: Plot of the center of the beam distribution measured with the Right slitsand Up slits of the ERNA line deflecting the beam in the target position by ±30 mrad
in the vertical axis for A.t. 1 and E.t. 2.
4.2.3 SS6 and SS7 scan test
Once verified the still problematic accurate simulation of the ERNA line, I concentrated
in the experimental relation between initial and final angles, by deflecting the beam
at target position and scanning it with SS6 and SS7 (the last two slit systems of the
separator) to determine its angle with respect to the geometric center. In order to
analyze the data I adopted spherical coordinates, and as COSY does I divided θ into its
components θx and θy. The reference system is illustrated in fig. 4.5.
In the first test we used an 16O+5 beam produced with tunings A.t. 1 and E.t. 2,
and deflected it in the vertical direction. The results are illustrated in fig. 4.6. The
parabola form observed comes from the non-uniformity of the electric field near the top
and bottom surfaces of the magnet poles of the second velocity filter (WF2), which is
smaller than the central electric field, while the magnetic field is more uniform in the
vertical direction.
Chapter 4. Data Taking and Analysis 78
Figure 4.5: Reference frame adopted using spherical coordinates to analyze the scanusing SS6 and SS7. It is important to notice that x is equals -(Right slit position).
-15
-10
-5
0
5
10
15
20
-5 -4 -3 -2 -1 0
Up s
lit (
mm
)
Right slit (mm)
Slit 6
Slit 7
-2
-1
0
1
2
3
4
5
6
7
-40 -30 -20 -10 0 10 20 30 40
θf d
ir (
mra
d)
θix (mrad)
X direction
Y direction
Figure 4.6: [Left] Plot of the beam center vertical and horizontal positions for SS6and SS7, for different vertical deflections at the target position. [Right] Plot of θfx and
θfy final components as a function of the initial component θix, where θiy = 0.
4.2.4 SS6 and SS7 scan
All the measurements of this section were obtained with A.t. 2 and E.t. 2. The results
presented in fig. 4.7 were obtained by deflecting the 16O+5 beam for different θs, for ϕ
= 90, 180, 45 and 135, respectively. Fig. 4.8 present the relation between initial and
final θx and θy, respectively.
4.2.5 Experimental transport matrix
The next step is to determine the transport matrix of the ERNA separator. In this
section I present the trial to obtain the experimental transport matrix by least squares
minimization considering just the position and angles:xf
θfx
yf
θfy
=
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44
×xi
θix
yi
θiy
(4.2)
Chapter 4. Data Taking and Analysis 79
-10
-5
0
5
10
15
20
-7 -6 -5 -4 -3 -2 -1 0
Up
slit
(m
m)
Right slit (mm)
Slit 6
Slit 7
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
-15 -10 -5 0 5 10 15
Up
slit
(m
m)
Right slit (mm)
Slit 6
Slit 7
-6
-4
-2
0
2
4
6
8
10
12
14
-15 -10 -5 0 5 10 15
Up
slit
(m
m)
Right slit (mm)
Slit 6
Slit 7
-6
-4
-2
0
2
4
6
8
10
-15 -10 -5 0 5 10 15
Up
slit
(m
m)
Right slit (mm)
Slit 6
Slit 7
Figure 4.7: Plot of the beam center position scanned with SS6 and SS7, for differentdeflections at target position in the direction: [Top left] ϕ = 90; [Top right] ϕ = 180;
[Bottom left] ϕ = 45; [Bottom right] ϕ = 135.
-8
-6
-4
-2
0
2
4
6
8
-30 -20 -10 0 10 20 30
θf x
(m
rad
)
θix (mrad)
ϕ = 180°ϕ = 135°
ϕ = 90°ϕ = 45°
-3
-2
-1
0
1
2
3
4
5
6
-30 -20 -10 0 10 20 30
θf y
(m
rad
)
θiy (mrad)
ϕ = 180°ϕ = 135°
ϕ = 90°ϕ = 45°
Figure 4.8: [Left] Final θfx as a function of initial θix and [Right] final θfy as a function
of initial θiy for ϕ = 45, 90, 135 and 180.
Chapter 4. Data Taking and Analysis 80
The minimization was performed using ROOT and can be found in Appendix G. The
phase space results are illustrated in fig. 4.9, where the black circles are the measured
final points shown in section 4.2.4 and the red full triangles are the calculated ones from
the initial points using the matrix obtained from the minimization. The arrows indicate
the correspondent point with the same initial conditions. The χ2 obtained is 1223,
and the number of degrees of freedom are 348 - 20 = 328, where 348 is the number of
experimental points and 20 is the number of parameters plus the 4 offsets adopted. The
6− 4− 2− 0 2 4 6 [mm]f x
10−
8−
6−
4−
2−
0
2
4
6
8
10f x
'
10− 5− 0 5 10 [mm]
f y
6−
4−
2−
0
2
4
6f y
'
Figure 4.9: X and Y phase spaces at the end of the ERNA line. The empty circleswere obtained from the slits scan described in section 4.2.4 and the red triangles fromthe least squares minimization. The arrows are to connect the measured and simulated
points that have the same initial condition.
large χ2 hinders the transport matrix determination. In order to decrease the reduced
χ2 we need more statistics, however,these measurements are time consuming and a more
comprehensive dataset could not be obtained within the time of this work, and will be
completed in the near future.
Chapter 4. Data Taking and Analysis 81
4.2.6 SS6 and SS7 scan - Energy shift
The results presented in figs. 4.10 and 4.11 were obtained with A.t. 3 and 4, and
E.t. 2, 3 and 4 for horizontal deflections. From where we can conclude that within the
uncertainties both energy shifts produce an equivalent relation between the start and
stop angular distributions.
-1
0
1
2
3
4
-6 -4 -2 0 2 4 6
Up
slit
(m
m)
Right slit (mm)
Beam(8261keV), ERNA(7971keV) - SS6Beam(8261keV), ERNA(7971keV) - SS7Beam(7971keV), ERNA(7681keV) - SS6Beam(7971keV), ERNA(7681keV) - SS7
Figure 4.10: Plot of the beam center position scanned with SS6 and SS7, for differentdeflections at target position and ϕ = 180. The plot includes two set of tunings, thebeam at 8261 keV with ERNA at 7971 keV, and beam at 7971 keV with ERNA at 7681
keV.
-10
-8
-6
-4
-2
0
2
4
-15 -10 -5 0 5 10 15 20 25
θf (
mra
d)
θix (mrad)
Beam(8261keV), ERNA(7971keV) - θyBeam(8261keV), ERNA(7971keV) - θxBeam(7971keV), ERNA(7681keV) - θyBeam(7971keV), ERNA(7681keV) - θx
Figure 4.11: Plot of θfx and θfy obtained from the data of fig. 4.10.
4.3 Acceptances of ERNA
As reported by Schurmann et al. (2005), when ERNA was in Bochum, the lowest energy
where measurements could be performed was 1.9 MeV. Gialanella and Schurmann (2011)
reported that the 1.9 MeV lower limit was due to overfocussing of beam ions in the
Chapter 4. Data Taking and Analysis 82
magnetic quadrupole triplet because the ions with charge states higher than the one
selected for the recoils hit the plates of the first velocity filter, producing an intense
leaky beam. The solution to this problem was the installation of the CSSM dipole
magnet that selects a single charge state for both recoil and beam ions entering the
first lens. Since its installation and the addition of a new jet target, the energy and
angular acceptances of the separator for the 16O-recoils generated by the 12C(α,γ)16O
reaction were not yet measured. Optical calculations have shown that the energy and
angular acceptances change very smoothly with beam energy, therefore we selected an
intermediate energy to check for the acceptances. This is one requirement of the first
goal presented in section 1.5. In this section I present the angular and energy acceptance
results obtained with an 16O+5 beam at 8.04 MeV.
4.3.1 Deflection unit calibration
The deflection unit used in the present work was developed by Rapagnani (2017), and
was previously calibrated for a carbon beam. It has two stages, A and B, each one
composed by two parallel plates centered with respect to the beam axis and jet target,
in a way that if we apply the same voltage in both stages, it simulates a recoil coming
from the central region of the jet target with a given angle with respect to beam axis.
The deflection unit is connected to an in-vacuum stepper motor coupled with a resolver.
In this way, by applying a voltage difference between the plates of each stage it is possible
to bend the beam and simulate the different angular distributions of the recoils. The
present calibration was performed with a 16O+5 beam at 8.04 MeV maximized in FC B.
A brass collimator of 23 mm long with 3 mm inner diameter was installed in the entrance
of the jet cell, which is 15 cm long. At the exit of the jet cell there is a brass nose 23
mm long with 8.55 mm inner diameter that protrudes 5 mm inside of the cell, which
imposes a maximum divergent angle from the center of θjetcellmax = arctan(
4.27575+18
)' 46
mrad.
In order to determine the horizontal beam profile, we installed a 0.5 mm diameter copper
wire rolled tight in the cooling tubes of the left slit of SS1, positioned in the vertical
direction (fig. 4.12). As the cooling tubes are electrically isolated from the chamber, we
were able to measure the current collected in the wire by the beam intercepted. Using
the telescope positioned in the geometrical center of the first arm of the separator we
centered the wire by moving the slit to determine the zero crossing point. The slit
displacement was measured with a caliper as illustrates fig. 4.13. The zero crossing
point measured with the caliper was at dss1zero = 42.30 mm.
Chapter 4. Data Taking and Analysis 83
Figure 4.12: Picture of the copper wire rolled tight in the cooling tubes of SS1.
Figure 4.13: Picture of the caliper position adopted to measure the slit displacement.
The distance along the geometrical center of the first arm of the separator between the
center of the jet target and the SS1 cooling tubes is lss1jet = 830 ±5 mm. As can be
seen in fig. 4.14, the displacement axis of the slit is 30 tilted with respect to the axis
perpendicular to the first arm. In a first approximation, the displacement perpendicular
to the first arm of the separator, can be calculated with d = (dss1 − dss10 ) × cos(π/6),
and the angle formed with:
θss1 = arctan
((dss1 − dss10 )× cos(π/6)
ljetss1
), (4.3)
where dss1 = dss1caliper−dss1zero, and dss10 is the offset obtained from the beam profile center
for ∆UA = ∆UB = 0 V.
Chapter 4. Data Taking and Analysis 84
Figure 4.14: Schematic illustration of the slit displacement with respect to the axiscentered in the first arm of the separator.
Using the telescope of the first arm of the separator we also determined the resolver
value when the plates are in the vertical and horizontal positions as illustrated in fig.
4.15.
Figure 4.15: Schematic illustration of deflection unit related to its resolver numberand voltage polarity.
In the first part we fixed the plates at Resolver = 771, obtaining the first set of beam
profiles for ∆UA = ∆UB = -5000 V → +1000 V illustrated in fig. 4.16. In the second
part we fixed the plates at Resolver = 256 and varied ∆UA = ∆UB = -1000 V→ +5000
V in order to verify that the beam was centered with respect to the plates. We were
not able to go further left or right because we reached the end of the slit stroke. The
current was measured using the Keithley 6485 Picoammeter in average mode controlled
by a LabVIEW routine developed by Giuseppe Porzio that returns the average of N
samples. In our measurements we used 10 samples. The beam profiles were fitted with
Gaussian functions, where the centroids were taken as the dss1 correspondent to their
∆U . Fig. 4.17 shows the angles calculated with eq. 4.3 as a function of ∆U, where the
Gaussian sigma obtained from the fit was used as the uncertainty of the centroid. Two
Chapter 4. Data Taking and Analysis 85
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
-10 -5 0 5 10 15 20 25 30
Curr
ent (n
A)
dss1
(mm)
∆UA=∆UB
0 V
-2000 V
-1000 V
-3000 V
-4000 V
-5000 V
+1000 V
0 V
+5000 V
+4000 V
+3000 V
+2000 V
+1000 V
-1000 V
Figure 4.16: Plot of the 16O+5 beam profile for different deflections.
linear fits were performed, θf (∆U) was obtained without considering the 5000 V points,
and θg(∆U) considering the 5000 V points:
θf (∆U) = (4.7(4)× 10−3)×∆U + 0.1(9), (4.4)
θg(∆U) = (4.3(2)× 10−3)×∆U + 0.5(9). (4.5)
-10
-5
0
5
10
15
20
25
-1000 0 1000 2000 3000 4000 5000
θss1 (
mra
d)
∆UA=∆UB (V)
θf(∆U): without 5000V points
θg(∆U): with 5000V points
Figure 4.17: Plot of the angles obtained from the centroids of fig. 4.16 as a functionof the voltage difference between two plates of one stage.
Chapter 4. Data Taking and Analysis 86
4.3.2 Angular acceptance
With all slits of the ERNA separator open, using A.t. 5, E.t. 5 (obtained by scaling E.t.
1) and measuring the current in FC E (the last Faraday cup of the separator) suppressed
for Resolver = 771, 0, 899 and 128, we obtained the results of figs. 4.18, 4.19, 4.20 and
4.21 respectively. For each point we measured the total current for ∆UA = ∆UB = 0 V.
The gray shaded area shows the required angular acceptance, calculated considering θγ =
90 in eq. 2.7, from where we obtain the graph of fig. 4.22 that displays the maximum
angle for the 16O-recoil without considering the straggling in the target, which will
contribute with a few more mrads, as discussed in the next section. The gray shaded
area indicates the maximum angle at 8 MeV, around 20 mrad.
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Tra
nsm
issio
n (
%)
Horizontal angle (mrad)
θf(∆U)
θg(∆U)
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Figure 4.18: Angular acceptance measured in the horizontal plane. The blue pointswere obtained with the parameters of θf and the red points with the parameters of θg.
The gray shaded area shows the required acceptance.
Therefore we can conclude that in all four directions we have full angular acceptance,
being the horizontal one, the closest to the limit on the left side.
4.3.3 Energy acceptance
To check for the energy acceptance one should change the beam energy. However, since
tuning the beam is a time consuming procedure, a somewhat equivalent way of doing so
is to change the tuning of the separator so that the tuned beam appears as having an
energy shift with respect to the energy the separator is tuned to. We have used both
methods for 7Be(p,γ) and got the same results, as reported in Buompane et al. (2018).
Chapter 4. Data Taking and Analysis 87
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Tra
nsm
issio
n (
%)
Vertical angle (mrad)
θf(∆U)
θg(∆U)
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Figure 4.19: Angular acceptance measured in the vertical plane. The blue pointswere obtained with the parameters of θf and the red points with the parameters of θg.
The gray shaded area shows the required acceptance.
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Tra
nsm
issio
n (
%)
Diagonal angle (mrad)
θf(∆U)
θg(∆U)
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Figure 4.20: Angular acceptance measured in the diagonal plane where Resolver =899. The blue points were obtained with the parameters of θf and the red points with
the parameters of θg. The gray shaded area shows the required acceptance.
Chapter 4. Data Taking and Analysis 88
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Tra
nsm
issio
n (
%)
Diagonal angle (mrad)
θf(∆U)
θg(∆U)
0
20
40
60
80
100
120
-50 -40 -30 -20 -10 0 10 20 30 40 50
Figure 4.21: Angular acceptance measured in the diagonal plane where Resolver =128. The blue points were obtained with the parameters of θf and the red points with
the parameters of θg. The gray shaded area shows the required acceptance.
18
20
22
24
26
28
30
32
34
0 1 2 3 4 5 6 7 8 9 10 11 12 13
16
Oθ
ma
x (
mra
d)
E16O (keV)
Figure 4.22: Plot of the energy dependence of the 16O maximum ”emission” angle forthe 12C(α, γ)16O reaction. The red lines indicate the angle correspondent to 8 MeV.
Therefore, using A.t. 5, we varied the ERNA separator central energy by scaling the
fields with respect to E.t. 1 and measured the current in FC E (the last Faraday cup of
the separator) following the same procedure described in the previous section. In this
way we obtained the energy acceptance represented by the red dots in fig. 4.23, which
is clearly shifted towards higher energies. Performing again the beam scan with SS3
and measuring the current in FC D (the Faraday cup before the 60 dipole magnet) we
realized that the beam was centered at Right slit = -2.5 mm, shifted therefore to the left,
which explains the lack of acceptance at lower energies and the shift of the horizontal
angular acceptance to positive angles. Changing the tuning of the accelerator to A.t.
Chapter 4. Data Taking and Analysis 89
0
20
40
60
80
100
120
-12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12
Tra
nsm
issio
n (
%)
∆E / E (%)
A.t. 5
A.t. 6
0
20
40
60
80
100
120
-12 -10 -8 -6 -4 -2 0 2 4 6 8 10 12
Figure 4.23: Plot of the energy acceptance measured with A.t. 5 (red points) andA.t. 6 (blue points). The gray shaded area shows the required acceptance.
6, we re-centered the beam at Right slit = -0.75 mm obtaining the energy acceptance
illustrated by the blue dots in fig. 4.23. The shaded gray area was obtained from the
kinematics of the reaction considering the relativistic correction (eq. 2.10), assuming θγ
= 0 and 180,
0E16Olab =
√(m16Oc2)2 +
(−E0γ +
√E2
12C − (m12Cc2)
)2
, (4.6)
180E16Olab =
√(m16Oc2)2 +
(E0γ +
√E2
12C − (m12Cc2)
)2
, (4.7)
obtaining fig. 4.24, where just for comparison, I included the energy deviation for θγ =
180 without considering the relativistic correction:
∆E
E=
2E0γ/c
p12C+
E20γ/c2
p212C
=2E0γ√
2m12Cc2E12C
+E2
0γ
2m12Cc2E12C. (4.8)
4.3.4 Target effects
As I said before, no target effects were considered until now. In order to determine
the angular and energy straggling of the 16O ions in the 4He jet target, I simulated
a simplified system using TRIM, with a 4He target of 1018 atoms/cm2, which is the
maximum thickness predicted by Rapagnani et al. (2018). I considered that the target
Chapter 4. Data Taking and Analysis 90
3
3.5
4
4.5
5
5.5
6
6.5
7
0 1 2 3 4 5 6 7 8 9 10 11 12 13
∆E
/ E
(%
)
E16O (MeV)
∆E Classic
∆E+ Relativistic
∆E- Relativistic
Figure 4.24: Plot of the energy dependence of the 16O maximum energy spread forthe 12C(α, γ)16O reaction.
is 3 mm long and that the 16O ions are produced in the middle of the target with 8 MeV.
With those parameters I simulated 13601 ions impinging the target at 0. The results
obtained are shown in fig. 4.25. The first graph on top left shows the energy straggling.
The energy distribution has a full width half maximum smaller than 30 keV. The graph
on top right shows the angular straggling of the 16O ions after crossing the 4He target.
In the graph on the bottom there is the percentage of ions with angle smaller than θ16O.
There, 82.7 % of the ions have θ16O < 2 mrad, and 96.2 % of the ions have θ16O < 4
mrad.
In conclusion, we still have full energy acceptance even after taking into account the
energy straggling. If we add more 4 mrad on both sides of the required angular accep-
tance we still have full angular acceptance for the vertical and diagonals angles. For the
horizontal angles, we stay in the limit at negative angles (see fig. 4.18), even though,
if the beam is centered in FC D (the Faraday cup before the 60 dipole magnet), the
transmission curve will be shifted to the left.
4.3.5 Tunings
In tables 4.2 and 4.3 I present the parameters used for different accelerator and separator
tunings, respectively.
4.4 MWPC characterization
We tested the first version of the MWPC stack composed by two cathodes, one anode
and two grounded position sensitive MWPC as illustrated in fig. 4.26.
Chapter 4. Data Taking and Analysis 91
0
200
400
600
800
1000
1200
7.78 7.8 7.82 7.84 7.86
Events
E16O(MeV)
0
500
1000
1500
2000
2500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Events
θ16O(mrad)
40
50
60
70
80
90
100
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
Ions u
nder
θ1
6O
(%
)
θ16O(mrad)
Figure 4.25: [Top left] Energy straggling of 16O ions after crossing a 4He target. [Topright] Angular straggling of 16O ions after crossing a 4He target. All events with anglesmaller than 0.45 mrad are concentrated in the first bar due to resolution of the data
from TRIM. [Bottom] Percentage of ions with angle smaller than θ16O.
Table 4.2: Parameters used for 6 different tunings of the accelerator. For more detailsabout the elements, refer to fig. 2.1.
Accelerator elem. Tuning 1 T. 2 T. 3 T. 4 T. 5 T. 6
BM01 (G) 3399.9 3402.4 3399.3 3398.5 3425.5 3425.5
BM03 (G) 2570.0 2569.1 2503.4 2617.5 2574.3 2574.3
Terminal (MV) 1.305 1.305 1.305 1.352 1.311 1.311
ESA04-1 (kV) 19.190 19.180 19.900 19.870 19.172 19.189
ESA04-2 (kV) 19.200 19.190 19.180 19.880 19.172 19.189
Switching (mT) 351.40 353.45 352.95 358.60 353.40 354.80
Double doublet-1 0.074 0.076 0.075 0.780 0.076 0.076
Double doublet-2 0.084 0.086 0.085 0.880 0.087 0.087
ESY S1 (kV) 0.077 0.060 0.130 0.130 -0.080 0.110
ESY 01 (kV) -0.021 0.500 0.500 0.500 0.110 0.110
ESY 03 (kV) 2.070 1.160 0.460 0.210 -0.360 -0.360
Steerer pre-ESA (A) 0.000 0.090 0.000 0.020 0.070 0.070
Steerer pre-ESA (V) 0.000 0.600 0.00 0.100 0.400 0.400
EQ X (kV) 10.100 13.240 11.060 11.710 11.710
EQ Y (kV) 12.740 15.710 13.410 14.710 14.710
EL 02 (kV) -44.580 -48.090 -49.720 -47.040 -47.040
Energy (MeV) 8.00 8.00 8.00 8.29 8.04 8.04
Chapter 4. Data Taking and Analysis 92
Table 4.3: Parameters used for 5 different tunings of the separator. For more detailsabout the elements, refer to fig. 2.2.
ERNA elements Tuning 1 T. 2 T. 3 T. 4 T. 5
CSSM (mT) 693.05 692.64 704.95 679.75 695.450
Triplet ext (mT) -138.70 -138.70 -141.20 -136.15 -139.30
Triplet int (mT) 165.52 165.27 168.35 162.33 166.08
WF1 B (mT) -41.94 -125.80 -123.60 -128.18 -125.28
WF1 U (kV) 9.99 30.00 30.00 30.00 30.00
Singlet (mT) 79.50 79.51 81.04 78.14 79.95
VMS steerer (mT) -1.20 -1.15 -1.15 -1.15 -1.15
60 Dipole (mT) 727.40 727.60 740.39 713.93 730.420
Doublet L1 (mT) 123.56 123.50 125.60 121.11 123.91
Doublet L2 (mT) 128.25 128.15 130.38 125.72 128.62
WF2 B (mT) -41.37 -82.720 -81.210 -84.220 -123.47
WF2 U (kV) 9.99 20.00 20.00 20.00 30.00
ERNA energy (MeV) 8.000 7.971 8.261 7.681 8.040
FC E suppressor (V) -410 -410 -410 -410 -420
Figure 4.26: Schematic drawing of the first version of the MWPC stack.
The ICT chamber was filled with Isobutane gas with pressure fixed at 7 mbar. A flux
control allowed for a constant renewal of the gas. The elements were biased with Uwindow
= Ucathode1 = Ucathode2 = -180 V, UICT∆E = UICT
E = +300 V and UICTcathode = -300 V. The
anode voltage was raised slowly until Uanode = +500 V. The first tests were performed
with a 16O+5 beam at 8 MeV. In order to obtain a larger beam diameter, the fields of the
magnetic quadrupole doublet were reduced to 20% of their common value. The signals
coming from the anode were only pre-amplified by the VT120 fast timing pre-amplifier,
while the x1, x2, y1 and y2 signals were also amplified with the FTA420. Figure 4.27
shows the signals obtained from anode, x1, x2, y1 and y2 outputs for SS7 closed forming
a 1×1mm square hole in front of the window, which is 2 µm thick made of Polypropilene
Terephthalate.
In all four position signals we can see a first fast peak almost contemporary to the anode
signal and then a broad signal. By sliding the 1×1mm square hole created with SS7 we
Chapter 4. Data Taking and Analysis 93
Figure 4.27: [Left] x1 (blue) and x2 (purple) signals from the FTA420 together withthe NIM signal generated from the anode in the CFD. [Right] y1 (blue) and y2 (purple)signals from the FTA420 together with the NIM signal generated from the anode in the
CFD.
noticed that only the broad peaks were moving. Therefore we concluded that the first
fast peak was induced by the anode, but not in the X or Y grids, otherwise it will be
also delayed, but outside of the PCBs, most likely induced in the non-coaxial cables. We
noticed also that the x2 position signal was not observed, indicating a possible problem
in the delay line, because the anode induced signal is still seen. It is possible to observe
also what seems to be reflections related to the position signals.
Despite those issues, we adjusted the threshold of the CFD in a way that most part of
the position signals were collected. The anode signal was used as trigger to the TDC,
and the position signals were delayed by 400 ns. The TDC options were adjusted to
work in common start trigger with a time range of 1003 ns. We measured 5 points, top,
bottom, right, left and center. I analyzed the data using a ROOT tree to generate a class
containing a loop on all the entries. Following the behavior of the different peaks in the
matrix (y1+y2)×(y1-y2) in all of the five runs I was able to identify the peak that was
moving, then I restricted the good events to the channel window 3400 < (y1+y2) < 3800.
After that, I calibrated the channels x1, y1 and y2 using the correspondence 1003 ns for
4096 channels and with Gaussian fittings I obtained a position calibration for x1 and for
y2-y1 spectra:
x = −0.21(1)t+ 86(4) (4.9)
y = 0.099(4)t+ 1.8(4) (4.10)
The matrices of figs. 4.28, 4.29 and 4.30 were obtained using the calibration curves of
eqs. 4.9 and 4.10. The FWHM obtained from the projections in the x and y axis are
listed in table 4.4.
In order to avoid the anode induced signal in the position signals and to have the pos-
sibility of improving the electron collection by the position grids, I changed the MWPC
Chapter 4. Data Taking and Analysis 94
0
100
200
300
400
500
X(mm)
25− 20− 15− 10− 5− 0 5 10 15 20 25
Y(m
m)
25−
20−
15−
10−
5−
0
5
10
15
20
25
0
50
100
150
200
250
300
350
X(mm)
25− 20− 15− 10− 5− 0 5 10 15 20 25
Y(m
m)
25−
20−
15−
10−
5−
0
5
10
15
20
25
Figure 4.28: Ions delays (positions) at the MWPC detector. [Left] The SS7 wasclosed forming a 1×1 mm square hole centered at Right = -15 mm and Up = 0.5 mm.[Right] The SS7 was closed forming a 1×1 mm square hole centered at Right = 16 mm
and Up = 0.5 mm.
0
5
10
15
20
25
30
X(mm)
25− 20− 15− 10− 5− 0 5 10 15 20 25
Y(m
m)
25−
20−
15−
10−
5−
0
5
10
15
20
25
0
5
10
15
20
25
30
35
40
X(mm)
25− 20− 15− 10− 5− 0 5 10 15 20 25
Y(m
m)
25−
20−
15−
10−
5−
0
5
10
15
20
25
Figure 4.29: Ions delays (positions) at the MWPC detector. [Left] The SS7 wasclosed forming a 1×1 mm square hole centered at Right = 1.0 mm and Up = 15.5 mm.[Right] The SS7 was closed forming a 1×1 mm square hole centered at Right = 1.0 mm
and Up = -15.5 mm.
0
100
200
300
400
500
600
700
800
900
X(mm)
25− 20− 15− 10− 5− 0 5 10 15 20 25
Y(m
m)
25−
20−
15−
10−
5−
0
5
10
15
20
25
Figure 4.30: Ions delays (positions) at the MWPC detector. The SS7 was closedforming a 1×1 mm square hole centered at Right = 1.0 mm and Up = 0.5 mm.
Chapter 4. Data Taking and Analysis 95
Table 4.4
Spot position FWHMx (mm) FWHMy (mm)
Right 1.86 0.91
Left 2.43 1.23
Top 1.27 3.48
Bottom 1.74 5.16
Center 1.81 0.91
stack composition by the one illustrated in fig. 4.31. Preliminary tests demonstrated
that when cathodes 1, 2 or 3 reach -570 V, discharges are observed. This is because
some of the cables inside the chamber are not made for high voltage supply, despite the
fact that they are not coaxial. Those cables are planned to be replaced in the close
future. In order to reach the proportional regime we should raise the cathodes voltage
until at least -630 V. This is needed because the position sensitive grids should be nearly
grounded.
Figure 4.31: Schematic illustration of the second version of the MWPC stack.
4.5 CPD characterization
We tested the DLD40-MCP detector coupled with the electrostatic mirror mounted
with a 10 µg/cm2 carbon foil. The acquisition system was triggered by the anode of
the MWPC. The four signals from the x and y delay lines together with the front MCP
signal were delayed by 300 ns. The TDC options were adjusted to work in common start
trigger with a time range of 440 ns. The anode signal from the MWPC was pre-amplified
and sent directly to the CFD. The signals from the x and y delay lines and front MCP
were instead sent to the FTA420 and then to the CFD.
The parameters used for this test were pICT = 7 mbar, Uwindow = -220 V, Ucathode1 =
-200 V, Uanode = +400 V, UICT∆E = UICT
E = +300 V, UICTcathode = -300 V, Ufront = 0 V,
Chapter 4. Data Taking and Analysis 96
Usig = +2362 V, Ufoilac = Umirror = -2500 V, and the beam is 16O+5 with 8.04 MeV.
Figure 4.32 shows the anode, front, y1 and y2 signals collected right before the CFD.
Figure 4.32: Picture of the signals collected right before the CFD, from the an-ode(blue), front(purple), y1(yellow) and y2(green).
Five different points were measured using the deflection unit with the beam intensity
reduced by closing the accelerator slits, with SS5, SS6 and SS7 all open. Two points
instead were measured with SS6 and SS7 closed forming two 0.5×0.5 mm square holes,
one on the top and one on the bottom. Another 4 acquisition runs were performed with
the deflection unit rotating continuously.
The data analysis was a difficult task, because the spectra were not so clean as expected.
I tried different approaches, and finally found that the best one is to first measure the X
and Y total delays including the cables used until the TDC, which in our case summed
2.30 m, equivalent to 11.8 ns:
• X total delay = 50.48 ns,
• Y total delay = 53.08 ns,
and from the ratio Xdelaytot /Y delay
tot = 0.95, we can have a hint on the position of the
peak of interest in the(x1+x2y1+y2
)spectra. If we add more 2×140 ns which is the delay
with respect to the anode signal, the ratio becomes 0.99. Looking into the(x1+x2y1+y2
)spectra I found out a peak in this region near 0.95. Therefore, I selected the data in
coincidence with the events in that peak. However, even after this restriction, for every
XY matrix two small spots were observed, one on the left side, and one above the main
spot as illustrates fig. 4.33. Those two spots can be explained by pre-trigger signals
that generate a CFD output similar to the one illustrated in fig. 4.34. While adjusting
the electronics I remember seeing those strange signals from the CFD, however I did
Chapter 4. Data Taking and Analysis 97
not pay so much attention to it. In practice, what happens is that the time registered
0
20
40
60
80
100
120
140
160
X(ns)
40− 30− 20− 10− 0 10 20 30 40Y
(mm
)40−
30−
20−
10−
0
10
20
30
40
Figure 4.33: XY matrix obtained from the delays of the CPD detector for an 16O+5
at 8.04 MeV with no deflection, ∆UA = ∆UB = 0 V. The two small spots on the leftand on top of the main spot were interpreted as coming from pre-trigger signals. The
x-axis is in ns because it was not calibrated.
Figure 4.34: CFD output of an erroneous pre-triggered event, extracted from Roent-Dek1 (2017).
is smaller than the real one, therefore, looking more closely to each spectrum I realized
that if imposing the restrictions x1 > 1000, x2 > 950, y1 > 1100 and y2 > 1100, the
majority of pre-triggered events are excluded. After this constrain I obtained clean XY
matrices as can be seen in fig. 4.35. The time calibration of the spectra was performed
using the signal from a pulse generator injected in the CFD, which in turn have two
NIM outputs that were injected in the Octal Gate generator that allows to control the
delay of each single channel. The calibration curve obtained is:
T = 0.108(2)× channel + 20(3) (ns) (4.11)
The position calibration was obtained only for the y axis with two points. The carbon
foil of the mirror is 30(1) cm far from SS6, which in turn is 170(1) cm far from SS5.
Considering the offset of each slit, both slit systems were closed forming a 0.5×0.5 mm
square hole. For the first point of the calibration the slits were positioned at SS5(Right
Chapter 4. Data Taking and Analysis 98
0
20
40
60
80
100
120
140
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
20
40
60
80
100
120
140
160
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
10
20
30
40
50
60
70
80
90
100
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
50
100
150
200
250
300
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
20
40
60
80
100
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
Figure 4.35: XY matrices obtained from the delays of the CPD detector for an 16O+5
at 8.04 MeV: [Top Left] with no deflection, ∆UA = ∆UB = 0 V; [Top Right] with∆UA = ∆UB = -2200 V, and Resolver = 0; [Center Left] with ∆UA = ∆UB = +2200V, and Resolver = 0; [Center Right] with ∆UA = ∆UB = +2200 V, and Resolver =771; [Bottom] with ∆UA = ∆UB = -2200 V, and Resolver = 771. The x-axis is in ns
because it was not calibrated.
= 0.0, Left = 0.5, Up = -0.5, Down = 1.0 mm) and SS6(R = -0.5, L = 1.0, U = 6.0, D
= -5.5 mm). The beam central position therefore was at SS5(R = -0.25, U = -0.75 mm)
and SS6(R = -0.75, U = 5.75 mm). The horizontal and vertical shifts are ∆R = -0.5
mm and ∆U = 6.5 mm. The vertical angle is tg(θv) = (6.5/1700) and the horizontal
one is tg(θh) = (−0.5/1700). The displacement of the beam with respect to the center
of the square in SS7 is dv = 300tg(θv) = 1.15 mm and dh = 300tg(θv) = −0.09 mm.
Therefore the xy position of the beam in the foil is:
x = ∆R+ dh +Rss50 (4.12)
Chapter 4. Data Taking and Analysis 99
y = ∆U + dv + U ss50 (4.13)
where (Rss50 ,U ss50 ) are the central coordinates of the square hole formed by SS5. For the
first point, x = −0.84± 0.25 mm and y = 6.90± 0.25 mm.
For the second point of the calibration the slits were positioned at SS5(R = 0.0, L =
0.5, U = -5.5, D = 6.0 mm) and SS6(R = -0.5, L = 1.0, U = -5.0, D = 5.5 mm), from
where I obtained x = −0.93± 0.25 mm and y = −5.16± 0.25 mm.
The correspondent time values obtained for both points are t1x = 19.40 ± 3.76 ns, t1y =
8.09 ± 3.74 mm, t2x = 21.91 ± 2.77 ns and t2y = −3.37 ± 2.95 mm. They were obtained
by applying a rotation in the xy referential system of the DLD40 illustrated in fig. 4.36.
The coordinate system was rotated by 225, and the new (x′,y′) coordinates are obtained
with:
x′ = x cos(225)− y sin(225) =−x+ y√
2(4.14)
y′ = x sin(225) + y cos(225) =−x− y√
2(4.15)
The calibration equation obtained is:
Figure 4.36: Scheme of the DLD referential system.
y = (0.95± 0.40)t+ (1.5± 2.3). (4.16)
Fig. 4.37 shows the two spots used in the calibration. The first one has a FWHMy =
11.9 mm, while the second one, FWHMy = 6.82 mm. This difference can be partially
explained by the low amount of events in the first spot.
The matrices obtained with the deflection unit rotating continuously are displayed in fig.
4.38. I fitted Gaussian functions in the x and y projections of the time spectra, obtaining
σx1.5kV = 3.67, σx2kV = 3.84, σx2.5kV = 4.19, σx2.8kV = 4.61, σy1.5kV = 5.50, σy2kV = 5.95,
σy2.5kV = 6.78 and σy2.8kV = 6.99, where σi∆U is the sigma obtained from the Gaussian
Chapter 4. Data Taking and Analysis 100
0
1
2
3
4
5
6
7
8
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
10
20
30
40
50
60
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
Figure 4.37: [Left] First calibration point obtained with SS5(R = 0.0, L = 0.5, U =-0.5, D = 1.0 mm) and SS6(R = -0.5, L = 1.0, U = 6.0, D = -5.5 mm). [Right] Secondcalibration point obtained with SS5(R = 0.0, L = 0.5, U = -5.5, D = 6.0 mm) and
SS6(R = -0.5, L = 1.0, U = -5.0, D = 5.5 mm).
fit to the projection of the xy time spectra in the i axis for a given deflection angle
determined by ∆U . The previous results are exactly what we expected, demonstrating
that the detector is working and that the analysis method is in the right direction.
0
20
40
60
80
100
120
140
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
20
40
60
80
100
120
140
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
20
40
60
80
100
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
0
10
20
30
40
50
60
70
80
90
100
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
Figure 4.38: [Top Left] ∆UA = ∆UB = 1.5 kV, [Top Right] ∆UA = ∆UB = 2.0 kV,[Bottom Left] ∆UA = ∆UB = 2.5 kV, [Bottom Right] ∆UA = ∆UB = 2.8 kV,
Chapter 4. Data Taking and Analysis 101
4.6 12C, 16O separation
As explained before in section 2.6.6, the carbon leaky beam is the only source of back-
ground for the charged particle detection. Therefore, as a first trial we injected a 12C+5
beam with 10.7 MeV, that corresponds to an oxygen recoil at 8 MeV, if considering that
the reactions take place mainly in the center of the target. The carbon beam matrices
were obtained applying only the total delay ratio restriction explained in the last section.
The time-of-fight × E matrix is illustrated in fig. 4.39, together with the central oxygen
trajectory matrix for comparison. The broad Tof peak observed for the 16O+5 beam
0
10
20
30
40
50
E (ch)
0 500 1000 1500 2000 2500 3000 3500 4000
To
f (n
s)
110
120
130
140
150
160
170
180
0
5
10
15
20
25
30
35
40
E (ch)
0 500 1000 1500 2000 2500 3000 3500 4000
To
f (n
s)
110
120
130
140
150
160
170
180
Figure 4.39: [Left] Tof×E matrix for an 16O+5 at 8.04 MeV with no deflection, ∆UA
= ∆UB = 0 V. [Right] Tof×E matrix for an 12C+5 at 10.7 MeV with no deflection, butwith the ERNA separator tuned for an 16O+5 at 8.04 MeV.
cannot be explained from the energy uncertainty point of view. It has to be related with
the Tof measurement, that has two main sources of uncertainty, one is the pre-trigger
and the other is that the front signal is not a negative signal but a bipolar signal with
its positive component being much larger than the negative one. What happens is that
the FTA amplifies only the negative component and ignores the positive one, providing
therefore a signal with low intensity. One possible solution is to invert the front or back
signals using the VT120B Fast Timing Preamplifier.
Just for comparison I included the XY matrix obtained for the carbon beam in fig. 4.40.
The spot observed is clearly on the left side relative to all the spots obtained in fig. 4.35.
This is a clear effect of the last Wien filter (WF2). It is important to point out also that
all the slits of the ERNA line were completely open, making it possible for the carbon
beam to scatter multiple times without being stopped.
Chapter 4. Data Taking and Analysis 102
0
10
20
30
40
50
60
X(ns)
40− 30− 20− 10− 0 10 20 30 40
Y(m
m)
30−
20−
10−
0
10
20
30
Figure 4.40: XY matrix from the delays of the CPD detector of a carbon beam. Theseparator was tuned for an 16O+5 beam at 8.04 MeV. The x-axis is in ns because it was
not calibrated. See text for more details.
Chapter 5
Conclusions and Outlook
The goals of the present work were to complete the upgrade of ERNA and commission
the new layout to extend the 12C(α,γ)16O measurements down to Ecm = 1.0 MeV, with
the partial objectives to:
• Investigate the optics of the new layout of ERNA designed to extend the measure-
ments to lower energies;
• Investigate the possibility of getting a better E1 and E2 separation through a
tracking detector;
• Develop a fully operational focal plane detector with tracking capabilities.
Within the first goal, in section 4.3 we checked the energy and angular acceptances of the
new layout of the ERNA separator. We obtained full angular acceptance in all directions
and full energy acceptance if the beam is horizontally centered in FC D within the range
±0.75 mm. Calculations and the measurements performed with the first ERNA layout
indicate that this result will hold down to Ecm = 1.0 MeV.
Within the second goal, in section 2.6 I concluded that the E1 and E2 components
can be separated using the time-of-flight information, and that the 12C leaky beam
can be suppressed using the position information. I also verified in section 4.2 that
with the ERNA code it is not possible to reproduce a single ion track but only the
beam envelope. Therefore we investigated the possibility of determining an experimental
transport matrix of the separator. However, since we do not have a sufficient knowledge
of the field maps of each element of the separator, we could not find effective field shapes
by a global method.
Within the third goal, in chapter 3 I investigated what would be the best alternative to
track 16O ions with energies in the order of MeVs and concluded that the best available
103
Conclusion. Conclusions and Outlook 104
option in the literature is a tracking detector composed by two stages, allowing also
for a time-of-flight measurement. For the first stage the best option found is a channel
plate detector composed by an electrostatic mirror and two matched MCPs with a delay
line readout. Together with the mirror, I developed a multi-wire proportional counter
position sensitive detector composed by a passive delay line, to be used as the second
stage of the tracking detector. Both detectors were tested as described in sections 4.4
and 4.5. The signals from the CPD delay lines are good for timing, however pre-trigger
spurious signals detected by the constant fraction polluted our data. The signals from
the front and back MCPs are quite good for timing, however they must be inverted to
be detected by the constant fraction discriminator. The anode signal from the MWPC
detector is a good signal for timing. The delay lines are working, however the quality
of the signals is bad. We tried to increase the fields in the delay lines without success
due to sparks. In order to solve those problems we will replace the cables inside the
ionization chamber by coaxial ones that support high voltages and a new configuration
of the MWPC stack will be tested, where the anode, x delay line grid and y delay line
grid are separated by cathodes with individual voltage control. This allows for a better
charge collection and signal setup.
In conclusion, in the present work it was possible to achieve with success the separa-
tor acceptances. The separator layout has the needed specification to measure at low
energies. In fact it is possible to have some separation from the recoils but for sure
γ-measurements will be the way to improve it. From the point of view of the detector
there is still work to do. It is not working properly, but with the diagnosis presented in
this thesis we can plan in the next months the solution for the problems.
Appendix A
erna.2.3.fox
Here we present the last version of the ERNA code after some modifications as a con-
sequence of the present work. The code is based on septune10 developed by D. Rogalla
(Rogalla, 2003).
---------------------------------------------------------------------- erna.2.3.fox ---------------------------------------------------------------------- Running in COSY9.1 130720 - modifications to the layout with small adjustments
INCLUDE ’COSY’ ;
PROCEDURE RUN;
********************************************************************** DECLARATION OF CONSTANTS AND VARIABLES **********************************************************************
*** some constants that provide convenient code reading ***fringe field modesVARIABLE FF_MODE0_OFF 1;VARIABLE FF_MODE1_INTEGRAL_METHOD 1;VARIABLE FF_MODE2_SYMPLECTIC_SCALING 1;VARIABLE FF_MODE3_ENGE_FUNCTION 1;VARIABLE FF_MODE_1_ENTRANCE 1;VARIABLE FF_MODE_2_EXIT 1;colorsVARIABLE BLACK 1;VARIABLE BLUE 1;VARIABLE RED 1;VARIABLE YELLOW 1;VARIABLE GREEN 1;VARIABLE YELGRE 1;VARIABLE SKYBLUE 1;VARIABLE MAGENTA 1;VARIABLE NAVY 1;VARIABLE COLORNAME 11 9;ray definition modesVARIABLE RDM_ALLRAYS 1;VARIABLE RDM_SELECTEDRAYS 1;VARIABLE RDM_OUTERRAYS 1;ray definition color codesVARIABLE RDCC_RED 1;VARIABLE RDCC_RANDOM 1;VARIABLE RDCC_POSITIONDEPENDING 1;VARIABLE RDCC_OUTERRAYCOLORING 1;VARIABLE RDCC_TWOBEAMS 1;VARIABLE RDCC_THREEBEAMS 1;VARIABLE INIT_FIRST_LAST_ELEMENT 1;VARIABLE PHYSICAL_FIRST_ELEMENT 1;VARIABLE PHYSICAL_LAST_ELEMENT 1;VARIABLE ELEMENTNAME 50 100;
-------------------------------------------- ion optical elements of CIRCE beamline and ERNA separator --------------------------------------------VARIABLE EL_STARTPOINT 1;VARIABLE EL_DL_STARTPOINT_HEFC 1;VARIABLE EL_HEFC 1;VARIABLE EL_DL_HEFC_OBJECTSLITS 1;VARIABLE EL_OBJECTSLITS 1;VARIABLE EL_DL_OBJSLITS_ANALYSINGMAGNET 1;VARIABLE EL_ANALYSINGMAGNET_IN 1;VARIABLE EL_ANALYSINGMAGNET_OUT 1;VARIABLE EL_DL_ANALYSINGMAGNET_IMAGESLITS 1;VARIABLE EL_IMAGESLITS 1;VARIABLE EL_DL_IMAGESLITS_IMAGEFC 1;VARIABLE EL_IMAGEFC 1;VARIABLE EL_DL_IMAGEFC_ESA_A 1;VARIABLE EL_ESA_A 1;VARIABLE EL_DL_ESA_A_ESA_B 1;VARIABLE EL_ESA_B 1;VARIABLE EL_DL_ESA_B_SWITCHINGMAGNET 1;VARIABLE EL_SWITCHINGMAGNET 1;
105
Appendix A. erna.2.3.fox 106
VARIABLE EL_DL_SWITCHINGMAGNET_GSISLITS 1;VARIABLE EL_GSISLITS 1;VARIABLE EL_DL_GSISLITS_FOCTRIPLET 1;VARIABLE EL_FOCTRIPLET 1;VARIABLE EL_DL_FOCTRIPLET_GASTARGET 1;--------------------------------------------VARIABLE EL_GASTARGET 1;--------------------------------------------VARIABLE EL_DL_GASTARGET_CSSM 1;VARIABLE EL_CSSM 1;VARIABLE EL_DL_CSSM_TRIP 1;VARIABLE EL_TRIPLET 1;VARIABLE EL_DL_TRIP_SLIT1 1;VARIABLE EL_SLIT1 1;VARIABLE EL_DL_SLIT1_FC1 1;VARIABLE EL_FC1 1;VARIABLE EL_DL_FC1_SEPWF1 1;VARIABLE EL_SEPWF1 1;VARIABLE EL_DL_SEPWF1_SFCIN 1;VARIABLE EL_SLIT_SFCIN 1;VARIABLE EL_DL_SFCIN_SHUTTER 1;VARIABLE EL_SHUTTER 1;VARIABLE EL_DL_SHUTTER_SLIT2 1;VARIABLE EL_SLIT2 1;VARIABLE EL_DL_SLIT2_SINGLET1 1;VARIABLE EL_SINGLET1 1;VARIABLE EL_DL_SINGLET1_DIPOLE 1;VARIABLE EL_DIPOLE 1;VARIABLE EL_DL_DIPOLE_SLITDIPOLE 1;VARIABLE EL_SLIT_DIPOLE 1;VARIABLE EL_DL_SLITDIPOLE_DIPOLEEXIT 1;VARIABLE EL_SLIT_DIPOLE_EXIT 1;VARIABLE EL_DL_DIPOLEEXIT_DOUBLET 1;VARIABLE EL_DOUBLET 1;VARIABLE EL_DL_DOUBLET_SLIT3 1;VARIABLE EL_SLIT3 1;VARIABLE EL_DL_SLIT3_SEPWF2 1;VARIABLE EL_SEPWF2 1;VARIABLE EL_DL_SEPWF2_SLIT4 1;VARIABLE EL_SLIT4 1;VARIABLE EL_DL_SLIT4_MCP 1;VARIABLE EL_MCP 1;VARIABLE EL_DL_MCP_Si 1;VARIABLE EL_Si 1;VARIABLE EL_DL_Si_SLIT5 1;VARIABLE EL_SLIT5 1;VARIABLE EL_SLIT5_FC4_ICTIN 1;VARIABLE EL_ICT 1;
--------------------------------------------parameters of reference beamVARIABLE A 1;VARIABLE W 1;VARIABLE q 1;
--------------------------------------------parameters for calculationVARIABLE calc_order 1;VARIABLE phase_space_dim 1;VARIABLE N_parameter 1;VARIABLE fringefield_mode 1;
--------------------------------------------fields of ERNA beamVARIABLE B_PURWF1 1;VARIABLE B_PURWF1_exp 1;VARIABLE U_PURWF1 1;VARIABLE E_PURWF1 1;VARIABLE B_PURWF2 1;VARIABLE B_PURWF2_exp 1;VARIABLE U_PURWF2 1;VARIABLE E_PURWF2 1;VARIABLE B_HEdoublet_1 1; qdhe1VARIABLE B_HEdoublet_2 1; qdhe2VARIABLE B_DTLsinglet1 1; bsing1VARIABLE B_DTLsinglet2 1;VARIABLE B_DTLsinglet2old 1;VARIABLE B_DTLdoublet_1 1; qdch1VARIABLE B_DTLdoublet_2 1; qdch2VARIABLE B_defocdoublet_1 1;VARIABLE B_defocdoublet_2 1;VARIABLE B_foctrip_ex 1;VARIABLE B_foctrip_in 1;
--------------------------------------------fields of ERNA separatorVARIABLE B_CSSM 1;VARIABLE B_trip_ex 1;VARIABLE B_trip_in 1;VARIABLE B_SEPdoublet_1 1;VARIABLE B_SEPdoublet_2 1;VARIABLE B_singl1 1;VARIABLE B_singl2 1;VARIABLE B_SEPWF1 1;VARIABLE B_SEPWF1_exp 1;VARIABLE U_SEPWF1 1;VARIABLE E_SEPWF1 1;VARIABLE B_SEPWF2 1;VARIABLE B_SEPWF2_exp 1;VARIABLE U_SEPWF2 1;VARIABLE E_SEPWF2 1;VARIABLE B_dipole 1;VARIABLE B_dipole_exp 1;
--------------------------------------------field limitsVARIABLE LIMIT_B_HEdoublet_1 1;VARIABLE LIMIT_B_HEdoublet_2 1;VARIABLE LIMIT_B_DTLsinglet1 1;VARIABLE LIMIT_B_DTLsinglet2 1;VARIABLE LIMIT_B_DTLdoublet_1 1;VARIABLE LIMIT_B_DTLdoublet_2 1;VARIABLE LIMIT_B_defocdoublet_1 1;VARIABLE LIMIT_B_defocdoublet_2 1;VARIABLE LIMIT_B_foctrip_ex 1;VARIABLE LIMIT_B_foctrip_in 1;VARIABLE LIMIT_B_CSSM 1;VARIABLE LIMIT_B_trip_ex 1;VARIABLE LIMIT_B_trip_in 1;VARIABLE LIMIT_B_singl1 1;VARIABLE LIMIT_B_SEPdoublet_1 1;VARIABLE LIMIT_B_SEPdoublet_2 1;VARIABLE LIMIT_B_singl2 1;VARIABLE LIMIT_B_dipole 1;
Appendix A. erna.2.3.fox 107
--------------------------------------------drift lengths of ERNA incident beamVARIABLE DL_startpoint_HEFC 1;VARIABLE DL_HEFC_objectslits 1;VARIABLE DL_objslits_analysingmagnet 1;VARIABLE DL_analysingmagnet_imageslits 1;VARIABLE DL_imageslits_imageFC 1;VARIABLE DL_imageFC_ESA_A 1;VARIABLE DL_ESA_A_ESA_B 1;VARIABLE DL_ESA_B_switchingmagnet 1;VARIABLE DL_switchingmagnet_GSISLITS 1;VARIABLE DL_GSISLITS_FOCTRIPLET 1;VARIABLE DL_FOCTRIPLET_GASTARGET 1;
--------------------------------------------drift lengths of ERNA separatorVARIABLE DL_gastarget_CSSM 1;VARIABLE DL_CSSM_triplet 1;VARIABLE DL_trip_slit1 1;VARIABLE DL_slit1_FC1 1;VARIABLE DL_FC1_sepWF1 1;VARIABLE DL_sepWF1_SFCin 1;VARIABLE DL_SFCin_shutter 1;VARIABLE DL_shutter_slit2 1;VARIABLE DL_slit2_singl1 1;VARIABLE DL_singl1_dipole 1;VARIABLE DL_dip_slitdip 1;VARIABLE DL_slitdip_dipexit 1;VARIABLE DL_dipexit_doubl 1;VARIABLE DL_doubl_slit3 1;VARIABLE DL_slit3_sepWF2 1;VARIABLE DL_sepWF2_slit4 1;VARIABLE DL_slit4_MCP 1;VARIABLE DL_MCP_Si 1;VARIABLE DL_Si_slit5 1;
--------------------------------------------edges and slit dimensionsVARIABLE dim_objectslits 5;VARIABLE dim_imageslits 5;VARIABLE dim_slit1 5;VARIABLE dim_slit2 5;VARIABLE dim_slit3 5;VARIABLE dim_slit4 5;VARIABLE dim_slit5 5;VARIABLE dim_MCP 5;VARIABLE dim_Si 5;VARIABLE dim_slitdip 5;VARIABLE dim_shutter 5;VARIABLE dim_SFCin 5;VARIABLE dim_dipexit 5;
--------------------------------------------deviations of optical element axesVARIABLE element_deviation 1 100 5;
--------------------------------------------calculation start/stop coordinates inside of elementsVARIABLE element_start 1 100;VARIABLE element_stop 1 100;
--------------------------------------------vacuum chamber geometryVARIABLE chamber 5;VARIABLE dim 5 100; 2nd param = max no of elementsVARIABLE name 80;VARIABLE chamberlen 1;
--------------------------------------------------------ray dataVARIABLE last_element 1;VARIABLE first_element 1;VARIABLE Ra 1 150500 10;********************************VARIABLE Ra_backup 1 2500 10;********************************VARIABLE N_ray_max 1;
--------------------------------------------------------matricesVARIABLE MAP_i 1000 8 100;VARIABLE MAP_dummy 1000 8;
--------------------------------------------------------filenamesVARIABLE raysfile 80;VARIABLE outfile 80;VARIABLE filename 80;VARIABLE initfile 80;
--------------------------------------------------------misc stuffVARIABLE next_step 3;VARIABLE save 1;VARIABLE debugging 1;VARIABLE ComputeReversedSystem 1;VARIABLE showSlitsAndFCs 1;VARIABLE show3Dgraphics 1;VARIABLE use_new_DTLsinglet 1;VARIABLE projection_plane 1;VARIABLE x_min 1;VARIABLE y_min 1;VARIABLE x_max 1;VARIABLE y_max 1;VARIABLE xp_min 1;VARIABLE yp_min 1;VARIABLE xp_max 1;VARIABLE yp_max 1;VARIABLE elapsed_time 1;VARIABLE beam_diameter 1;VARIABLE beam_divergence 1;VARIABLE session_name 20;VARIABLE session_number 1;VARIABLE tmp1 1;VARIABLE tmp2 1;VARIABLE tmp3 1;VARIABLE txt1 80;VARIABLE phi_lab 1;VARIABLE theta_lab 1;
***************************************************************************** PROCEDURES *****************************************************************************--------------------------------------------------------------------------------------------------------
PROCEDURE InitConstants; initialize the global (pseudo-)constants
Appendix A. erna.2.3.fox 108
LFALSE debugging; LTRUE debugging;FF_MODE0_OFF := 0;FF_MODE1_INTEGRAL_METHOD := 1;FF_MODE2_SYMPLECTIC_SCALING := 2;FF_MODE3_ENGE_FUNCTION := 3;FF_MODE_1_ENTRANCE :=-1;FF_MODE_2_EXIT :=-2;
BLACK := 1; COLORNAME(BLACK) := ’BLACK’;BLUE := 2; COLORNAME(BLUE) := ’BLUE’;RED := 3; COLORNAME(RED) := ’RED’;YELLOW := 4; COLORNAME(YELLOW) := ’YELLOW’;GREEN := 5; COLORNAME(GREEN) := ’GREEN’;YELGRE := 6; COLORNAME(YELGRE) := ’YELLOWGREEN’;SKYBLUE := 7; COLORNAME(SKYBLUE) := ’SKYBLUE’;MAGENTA := 8; COLORNAME(MAGENTA) := ’MAGENTA’;NAVY := 9; COLORNAME(NAVY) := ’NAVY’;
INIT_FIRST_LAST_ELEMENT := -1;ray definition modesRDM_ALLRAYS := 1;RDM_SELECTEDRAYS := 2;RDM_OUTERRAYS := 3;ray definition color codesRDCC_RED := 1;RDCC_RANDOM := 2;RDCC_POSITIONDEPENDING := 3;RDCC_OUTERRAYCOLORING := 4;RDCC_TWOBEAMS := 5;RDCC_THREEBEAMS := 6;
IF NOT(ComputeReversedSystem);EL_STARTPOINT := 01;EL_DL_STARTPOINT_HEFC := 02;EL_HEFC := 03;EL_DL_HEFC_OBJECTSLITS := 04;EL_OBJECTSLITS := 05;EL_DL_OBJSLITS_ANALYSINGMAGNET := 06;EL_ANALYSINGMAGNET_IN := 07;EL_ANALYSINGMAGNET_OUT := 08;EL_DL_ANALYSINGMAGNET_IMAGESLITS := 09;EL_IMAGESLITS := 10;EL_DL_IMAGESLITS_IMAGEFC := 11;EL_IMAGEFC := 12;EL_DL_IMAGEFC_ESA_A := 13;EL_ESA_A := 14;EL_DL_ESA_A_ESA_B := 15;EL_ESA_B := 16;EL_DL_ESA_B_SWITCHINGMAGNET := 17;EL_SWITCHINGMAGNET := 18;EL_DL_SWITCHINGMAGNET_GSISLITS := 19;EL_GSISLITS := 20;EL_DL_GSISLITS_FOCTRIPLET := 21;EL_FOCTRIPLET := 22;EL_DL_FOCTRIPLET_GASTARGET := 23;EL_GASTARGET := 24;EL_DL_GASTARGET_CSSM := 25;EL_CSSM := 26;EL_DL_CSSM_TRIP := 27;EL_TRIPLET := 28;EL_DL_TRIP_SLIT1 := 29;EL_SLIT1 := 30;EL_DL_SLIT1_FC1 := 31;EL_FC1 := 32;EL_DL_FC1_SEPWF1 := 33;EL_SEPWF1 := 34;EL_DL_SEPWF1_SFCIN := 35;EL_SLIT_SFCIN := 36;EL_DL_SFCIN_SHUTTER := 37;EL_SHUTTER := 38;EL_DL_SHUTTER_SLIT2 := 39;EL_SLIT2 := 40;EL_DL_SLIT2_SINGLET1 := 41;EL_SINGLET1 := 42;EL_DL_SINGLET1_DIPOLE := 43;EL_DIPOLE := 44;EL_DL_DIPOLE_SLITDIPOLE := 45;EL_SLIT_DIPOLE := 46;EL_DL_SLITDIPOLE_DIPOLEEXIT := 47;EL_SLIT_DIPOLE_EXIT := 48;EL_DL_DIPOLEEXIT_DOUBLET := 49;EL_DOUBLET := 50;EL_DL_DOUBLET_SLIT3 := 51;EL_SLIT3 := 52;EL_DL_SLIT3_SEPWF2 := 53;EL_SEPWF2 := 54;EL_DL_SEPWF2_SLIT4 := 55;EL_SLIT4 := 56;EL_DL_SLIT4_MCP := 57;EL_MCP := 58;EL_DL_MCP_Si := 59;EL_Si := 60;EL_DL_Si_SLIT5 := 61;EL_SLIT5 := 62;EL_SLIT5_FC4_ICTIN := 63;EL_ICT := 64;
ELSEIF 1=1;EL_STARTPOINT := 64;EL_DL_STARTPOINT_HEFC := 63;EL_HEFC := 62;EL_DL_HEFC_OBJECTSLITS := 61;EL_OBJECTSLITS := 60;EL_DL_OBJSLITS_ANALYSINGMAGNET := 59;EL_ANALYSINGMAGNET_IN := 58;EL_ANALYSINGMAGNET_OUT := 57;EL_DL_ANALYSINGMAGNET_IMAGESLITS := 56;EL_IMAGESLITS := 55;EL_DL_IMAGESLITS_IMAGEFC := 54;EL_IMAGEFC := 53;EL_DL_IMAGEFC_ESA_A := 52;EL_ESA_A := 51;EL_DL_ESA_A_ESA_B := 50;EL_ESA_B := 49;EL_DL_ESA_B_SWITCHINGMAGNET := 48;EL_SWITCHINGMAGNET := 47;EL_DL_SWITCHINGMAGNET_GSISLITS := 46;EL_GSISLITS := 45;EL_DL_GSISLITS_FOCTRIPLET := 44;EL_FOCTRIPLET := 43;EL_DL_FOCTRIPLET_GASTARGET := 42;EL_GASTARGET := 41;EL_DL_GASTARGET_CSSM := 40;
Appendix A. erna.2.3.fox 109
EL_CSSM := 39;EL_DL_CSSM_TRIP := 38;EL_TRIPLET := 37;EL_DL_TRIP_SLIT1 := 36;EL_SLIT1 := 35;EL_DL_SLIT1_FC1 := 34;EL_FC1 := 33;EL_DL_FC1_SEPWF1 := 32;EL_SEPWF1 := 31;EL_DL_SEPWF1_SFCIN := 30;EL_SLIT_SFCIN := 29;EL_DL_SFCIN_SHUTTER := 28;EL_SHUTTER := 27;EL_DL_SHUTTER_SLIT2 := 26;EL_SLIT2 := 25;EL_DL_SLIT2_SINGLET1 := 24;EL_SINGLET1 := 23;EL_DL_SINGLET1_DIPOLE := 22;EL_DIPOLE := 21;EL_DL_DIPOLE_SLITDIPOLE := 20;EL_SLIT_DIPOLE := 19;EL_DL_SLITDIPOLE_DIPOLEEXIT := 18;EL_SLIT_DIPOLE_EXIT := 17;EL_DL_DIPOLEEXIT_DOUBLET := 16;EL_DOUBLET := 15;EL_DL_DOUBLET_SLIT3 := 14;EL_SLIT3 := 13;EL_DL_SLIT3_SEPWF2 := 12;EL_SEPWF2 := 11;EL_DL_SEPWF2_SLIT4 := 10;EL_SLIT4 := 09;EL_DL_SLIT4_MCP := 08;EL_MCP := 07;EL_DL_MCP_Si := 06;EL_Si := 05;EL_DL_Si_SLIT5 := 04;EL_SLIT5 := 03;EL_SLIT5_FC4_ICTIN := 02;EL_ICT := 01;
ENDIF;
ELEMENTNAME(EL_STARTPOINT):=’STARTPOINT’;
ELEMENTNAME(EL_DL_STARTPOINT_HEFC):=’DL_STARTPOINT_HEFC’;
ELEMENTNAME(EL_HEFC):=’HEFC’;
ELEMENTNAME(EL_DL_HEFC_OBJECTSLITS):=’DL_HEFC_OBJECTSLITS’;
ELEMENTNAME(EL_OBJECTSLITS):=’OBJECTSLITS’;
ELEMENTNAME(EL_DL_OBJSLITS_ANALYSINGMAGNET):=’DL_OBJSLITS_ANALYSINGMAGNET’;
ELEMENTNAME(EL_ANALYSINGMAGNET_IN):=’ANALYSINGMAGNET_IN’;
ELEMENTNAME(EL_ANALYSINGMAGNET_OUT):=’ANALYSINGMAGNET_OUT’;
ELEMENTNAME(EL_DL_ANALYSINGMAGNET_IMAGESLITS):=’DL_ANALYSINGMAGNET_IMAGESLITS’;
ELEMENTNAME(EL_IMAGESLITS):=’IMAGESLITS’;
ELEMENTNAME(EL_DL_IMAGESLITS_IMAGEFC):=’DL_IMAGESLITS_IMAGEFC’;
ELEMENTNAME(EL_IMAGEFC):=’IMAGEFC’;
ELEMENTNAME(EL_DL_IMAGEFC_ESA_A):=’DL_IMAGEFC_ESA_A’;
ELEMENTNAME(EL_ESA_A):=’ESA_A’;
ELEMENTNAME(EL_DL_ESA_A_ESA_B):=’DL_ESA_A_ESA_B’;
ELEMENTNAME(EL_ESA_B):=’ESA_B’;
ELEMENTNAME(EL_DL_ESA_B_SWITCHINGMAGNET):=’DL_ESA_B_SWITCHINGMAGNET’;
ELEMENTNAME(EL_SWITCHINGMAGNET):=’SWITCHINGMAGNET’;
ELEMENTNAME(EL_DL_SWITCHINGMAGNET_GSISLITS):=’DL_SWITCHINGMAGNET_GSISLITS’;
ELEMENTNAME(EL_GSISLITS):=’GSISLITS’;
ELEMENTNAME(EL_DL_GSISLITS_FOCTRIPLET):=’DL_GSISLITS_FOCTRIPLET’;
ELEMENTNAME(EL_FOCTRIPLET):=’FOCTRIPLET’;
ELEMENTNAME(EL_DL_FOCTRIPLET_GASTARGET):=’DL_DL_FOCTRIPLET_GASTARGET’;
ELEMENTNAME(EL_GASTARGET):=’GASTARGET’;
ELEMENTNAME(EL_DL_GASTARGET_CSSM):=’DL_GASTARGET_CSSM’;
ELEMENTNAME(EL_CSSM):=’CSSM’;
ELEMENTNAME(EL_DL_CSSM_TRIP):=’DL_CSSM_TRIP’;
ELEMENTNAME(EL_TRIPLET):=’TRIPLET’;
ELEMENTNAME(EL_DL_TRIP_SLIT1):=’DL_TRIP_SLIT1’;
ELEMENTNAME(EL_SLIT1):=’SLIT1’;
ELEMENTNAME(EL_DL_SLIT1_FC1):=’DL_SLIT1_FC1’;
ELEMENTNAME(EL_FC1):=’FC1’;
ELEMENTNAME(EL_DL_FC1_SEPWF1):=’DL_FC1_SEPWF1’;
ELEMENTNAME(EL_SEPWF1):=’SEPWF1’;
ELEMENTNAME(EL_DL_SEPWF1_SFCIN):=’DL_SEPWF1_SFCIN’;
ELEMENTNAME(EL_SLIT_SFCIN):=’SLIT_SFCIN’;
ELEMENTNAME(EL_DL_SFCIN_SHUTTER):=’DL_SFCIN_SHUTTER’;
ELEMENTNAME(EL_SHUTTER):=’SHUTTER’;
ELEMENTNAME(EL_DL_SHUTTER_SLIT2):=’DL_SHUTTER_SLIT2’;
ELEMENTNAME(EL_SLIT2):=’SLIT2’;
ELEMENTNAME(EL_DL_SLIT2_SINGLET1)
Appendix A. erna.2.3.fox 110
:=’DL_SLIT2_SINGLET1’;ELEMENTNAME(EL_SINGLET1)
:=’SINGLET1’;ELEMENTNAME(EL_DL_SINGLET1_DIPOLE)
:=’DL_SINGLET1_DIPOLE’;ELEMENTNAME(EL_DIPOLE)
:=’DIPOLE 60deg’;ELEMENTNAME(EL_DL_DIPOLE_SLITDIPOLE)
:=’DL_DIPOLE_SLITDIPOLE’;ELEMENTNAME(EL_SLIT_DIPOLE)
:=’SLIT_DIPOLE’;ELEMENTNAME(EL_DL_SLITDIPOLE_DIPOLEEXIT)
:=’DL_SLITDIPOLE_DIPOLEEXIT’;ELEMENTNAME(EL_SLIT_DIPOLE_EXIT)
:=’SLIT_DIPOLE_EXIT’;ELEMENTNAME(EL_DL_DIPOLEEXIT_DOUBLET)
:=’DL_DIPOLEEXIT_DOUBLET’;ELEMENTNAME(EL_DOUBLET)
:=’DOUBLET’;ELEMENTNAME(EL_DL_DOUBLET_SLIT3)
:=’DL_DOUBLET_SLIT3’;ELEMENTNAME(EL_SLIT3)
:=’SLIT3’;ELEMENTNAME(EL_DL_SLIT3_SEPWF2)
:=’DL_SLIT3_SEPWF2’;ELEMENTNAME(EL_SEPWF2)
:=’SEPWF2’;ELEMENTNAME(EL_DL_SEPWF2_SLIT4)
:=’DL_SEPWF2_SLIT4’;ELEMENTNAME(EL_SLIT4)
:=’SLIT4’;ELEMENTNAME(EL_DL_SLIT4_MCP)
:=’DL_SLIT4_MCP’;ELEMENTNAME(EL_MCP)
:=’MCP’;ELEMENTNAME(EL_DL_MCP_Si)
:=’DL_MCP_Si’;ELEMENTNAME(EL_Si)
:=’Si_DETECTOR’;ELEMENTNAME(EL_DL_Si_SLIT5)
:=’DL_Si_SLIT5’;ELEMENTNAME(EL_SLIT5)
:=’SLIT5’;ELEMENTNAME(EL_SLIT5_FC4_ICTIN)
:=’SLIT5_FC4_ICTIN’;ELEMENTNAME(EL_ICT)
:=’ICT’;ENDPROCEDURE;
----------------------------------------------------
----------------------------------------------------PROCEDURE ApplyMap thismap;
AM thismap;IF debugging; WRITE 6 ’ AM: apply map’; ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE BeginPicture;BP;IF debugging; WRITE 6 ’ BP: begin picture’; ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE ChangeBending;CB;IF debugging; WRITE 6 ’ CB: change bending’; ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE ClearRays;CR;IF debugging; WRITE 6 ’ CR: clear rays’; ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE DriftLength length;DL length;IF debugging;
WRITE 6 ’ DL: drift length ’&SF(length,’(F7.3)’)&’m’;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE EndPicture;EP;IF debugging; WRITE 6 ’ EP: end picture’; ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE FringeFieldMode ffmode;VARIABLE txt 32;FR ffmode;IF debugging;
IF ffmode=FF_MODE0_OFF;txt:=’(off)’;
ELSEIF ffmode=FF_MODE1_INTEGRAL_METHOD;txt:=’(integral method)’;
ELSEIF ffmode=FF_MODE2_SYMPLECTIC_SCALING;txt:=’(symplectic scaling)’;
ELSEIF ffmode=FF_MODE3_ENGE_FUNCTION;txt:=’(Enge function)’;
ELSEIF ffmode=FF_MODE_1_ENTRANCE;txt:=’(entrance field)’;
ELSEIF ffmode=FF_MODE_2_EXIT;txt:=’(exit field)’;
ENDIF;WRITE 6 ’ FR: fringe field mode is now ’&SF(ffmode,’(I2)’)&’ ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE MagneticQuadrupole length flux_density_at_pole_tip aperture;
VARIABLE txt 80;MQ length flux_density_at_pole_tip aperture;IF debugging;
txt:= ’(len=’&SF(length,’(F6.3)’)&’m,’;txt:=txt&’ flx=’&SF(flux_density_at_pole_tip,’(F6.3)’)&’T,’;txt:=txt&’ apt=’&SF(aperture,’(F6.3)’)&’m)’;WRITE 6 ’ MQ: magnetic quadrupole ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE MagneticSector radius angle aperture n1 n2 n3 n4 n5;
VARIABLE txt 80;MS radius angle aperture n1 n2 n3 n4 n5;
Appendix A. erna.2.3.fox 111
IF debugging;txt:= ’(rad=’&SF(radius,’(F6.3)’)&’m,’;txt:=txt&’ ang=’&SF(angle,’(F6.3)’)&’deg,’;txt:=txt&’ apt=’&SF(aperture,’(F6.3)’)&’m,’;WRITE 6 ’ MS: magnetic sector ’&txt;txt:= ’ n1=’&SF(n1,’(F6.3)’)&’, ’;txt:=txt&’ n2=’&SF(n2,’(F6.3)’)&’, ’;txt:=txt&’ n3=’&SF(n3,’(F6.3)’)&’, ’;txt:=txt&’ n4=’&SF(n4,’(F6.3)’)&’, ’;txt:=txt&’ n5=’&SF(n5,’(F6.3)’)&’)’;WRITE 6 ’ ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE MagneticDipole radius angle aperture tilt_1 tilt_2;
VARIABLE txt 80;DI radius angle aperture tilt_1 0 tilt_2 0;IF debugging;
txt:= ’(rad=’&SF(radius,’(F6.3)’)&’m,’;txt:=txt&’ ang=’&SF(angle,’(F6.3)’)&’deg,’;txt:=txt&’ apt=’&SF(aperture,’(F6.3)’)&’m,’;WRITE 6 ’ MS: magnetic dipole ’&txt;txt:= ’ tilt_1=’&SF(tilt_1,’(F6.3)’)&’, ’;txt:=txt&’ tilt_2=’&SF(tilt_2,’(F6.3)’)&’, ’;WRITE 6 ’ ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE ElectricSector radius angle aperture n1 n2 n3 n4 n5;
VARIABLE txt 80;ES radius angle aperture n1 n2 n3 n4 n5;IF debugging;
txt:= ’(rad=’&SF(radius,’(F6.3)’)&’m,’;txt:=txt&’ ang=’&SF(angle,’(F6.3)’)&’deg,’;txt:=txt&’ apt=’&SF(aperture,’(F6.3)’)&’m,’;WRITE 6 ’ ES: electric sector ’&txt;txt:= ’ n1=’&SF(n1,’(F6.3)’)&’, ’;txt:=txt&’ n2=’&SF(n2,’(F6.3)’)&’, ’;txt:=txt&’ n3=’&SF(n3,’(F6.3)’)&’, ’;txt:=txt&’ n4=’&SF(n4,’(F6.3)’)&’, ’;txt:=txt&’ n5=’&SF(n5,’(F6.3)’)&’)’;WRITE 6 ’ ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE PictureTYpe scale;
PTY scale;IF debugging;
WRITE 6 ’ PTY: picture type and scale set to ’&SF(scale,’(F7.3)’);ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE PoincareSection width;PS width;IF debugging;
WRITE 6 ’ PS: Poincare section ’&SF(width,’(F7.3)’)&’m’;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE PrintPicture unit phi theta;VARIABLE txt 120;IF debugging;
txt:= ’unit=’ &SF(unit, ’(F9.3)’)&’, ’;txt:=txt&’phi=’ &SF(phi, ’(F7.3)’)&’, ’;txt:=txt&’theta=’&SF(theta,’(F7.3)’);WRITE 6 ’ PP: print picture (’&txt&’)’;
ENDIF;PP unit phi theta;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE SaveMap thismap;SM thismap;IF debugging;
WRITE 6 ’ SM: save map’;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE SelectRay x xp y yp tof dE dM dZ color;VARIABLE txt 120;SR x xp y yp tof dE dM dZ color;IF debugging;
txt:= ’( x=’&SF(x,’(F6.3)’)&’m,’;txt:=txt&’ xp=’&SF(xp,’(F6.3)’)&’rad,’;txt:=txt&’ y=’&SF(y,’(F6.3)’)&’m, ’;txt:=txt&’yp=’&SF(yp,’(F6.3)’)&’rad,’;WRITE 6 ’ SR: select ray ’&txt;txt:= ’tof=’&SF(tof,’(F6.3)’)&’m, ’;txt:=txt&’dE=’&SF(dE,’(F6.3)’)&’, ’;txt:=txt&’dM=’&SF(dM,’(F6.3)’)&’, ’;txt:=txt&’dZ=’&SF(dZ,’(F6.3)’)&’, ’;txt:=txt&COLORNAME(color)&’)’;WRITE 6 ’ ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE ShiftAxis dx dy;
VARIABLE txt 40;IF (dx#0)+(dy#0);
SA -dx -dy; shift of element axis is negative shift of optical axisIF debugging;
txt:=SF(dx*1000,’(F5.2)’)&’mm, dy=’&SF(dy*1000,’(F5.2)’)&’mm’;WRITE 6 ’ SA: shift axis by dx=’&txt;
ENDIF;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE TiltAxis dx dy;VARIABLE txt 40;IF (dx#0)+(dy#0);
TA -dx -dy; tilt of element axis is negative tilt of optical axisIF debugging;
txt:=SF(dx*1000,’(F5.2)’)&’mrad, dy=’&SF(dy*1000,’(F5.2)’)&’mrad’;WRITE 6 ’ TA: tilt axis by dx=’&txt;
ENDIF;ENDIF;
Appendix A. erna.2.3.fox 112
ENDPROCEDURE;----------------------------------------------------
PROCEDURE RotateAxis angle;VARIABLE txt 40;IF angle#0;
RA -angle; rotation of element is negative rotation of optical axisIF debugging;
txt:=SF(angle,’(F5.2)’)&’deg’;WRITE 6 ’ RA: rotate axis by ’&txt;
ENDIF;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE SetAxisDeviation element;VARIABLE is_deviated 1;variable i 1;IF (element>first_element-1)*(element<last_element+1);
LFALSE is_deviated;LOOP i 1 5;
is_deviated:=is_deviated+(element_deviation(element,i)#0);ENDLOOP;IF is_deviated;
IF debugging;WRITE 6 ’ SetAxisDeviation for ’&ELEMENTNAME(element)&’:’;
ENDIF;ShiftAxis element_deviation(element,1) element_deviation(element,2);TiltAxis element_deviation(element,3) element_deviation(element,4);RotateAxis element_deviation(element,5);
ENDIF;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE UnsetAxisDeviation element;VARIABLE is_deviated 1;variable i 1;IF (element>first_element-1)*(element<last_element+1);
LFALSE is_deviated;LOOP i 1 5;
is_deviated:=is_deviated+(element_deviation(element,i)#0);ENDLOOP;IF is_deviated;
IF debugging;WRITE 6 ’ UnsetAxisDeviation for ’&ELEMENTNAME(element)&’:’;
ENDIF;ShiftAxis -element_deviation(element,1) -element_deviation(element,2);TiltAxis -element_deviation(element,3) -element_deviation(element,4);RotateAxis -element_deviation(element,5);
ENDIF;ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE UnityMap;UM;IF debugging; WRITE 6 ’ UM: unity map’; ENDIF;
ENDPROCEDURE;----------------------------------------------------
PROCEDURE WienFilter radius1 radius2 length aperture;VARIABLE txt 80;WF radius1 radius2 length aperture;IF debugging;
txt:= ’(r1=’&SF(radius1,’(F6.3)’)&’m,’;txt:=txt&’ r2=’&SF(radius2,’(F6.3)’)&’m,’;txt:=txt&’ len=’&SF(length,’(F6.3)’)&’m,’;txt:=txt&’ apt=’&SF(aperture,’(F6.3)’)&’m)’;WRITE 6 ’ WF: Wien filter ’&txt;
ENDIF;ENDPROCEDURE;
----------------------------------------------------PROCEDURE InitGeometry;
drift lengthsDL_startpoint_HEFC := 1.920; DL_HEFC_objectslits := 0.810; DL_objslits_analysingmagnet := 0.315+1.710; DL_analysingmagnet_imageslits := 0.410+0.410; DL_imageslits_imageFC := 0.175; DL_imageFC_ESA_A := 1.155; DL_ESA_A_ESA_B := 0.400; DL_ESA_B_switchingmagnet := 0.175; DL_switchingmagnet_GSISLITS := 0.640; DL_GSISLITS_FOCTRIPLET := 0.540; DL_FOCTRIPLET_GASTARGET := 4.990; DL_gastarget_CSSM := 0.370; Distance in case of Jet Gas targetDL_CSSM_triplet := 0.300;DL_trip_slit1 := 0.147;DL_slit1_FC1 := 0.379; DL_FC1_SEPWF1 := 0.260; DL_SEPWF1_SFCin := 0.186;DL_SFCin_shutter := 3.212;DL_shutter_slit2 := 0.190;DL_slit2_singl1 := 0.222;DL_singl1_dipole := 1.412;DL_dip_slitdip := 0.077;DL_slitdip_dipexit := 0.138;DL_dipexit_doubl := 0.177;DL_doubl_slit3 := 0.444; DL_slit3_SEPWF2 := 0.694; DL_sepWF2_slit4 := 0.432; DL_slit4_MCP := 0.140; DL_MCP_Si := 0.440;
DL_Si_slit5 := 0.180; drift length as from Detlef’s design DL_Si_slit5 := 0.730; extended drift because of
modification for 7Be half-life project
--------------------------------------------- dimensions of slits and edges --------------------------------------------- array components: 1 horizontal plane left 2 horizontal plane right 3 vertical plane bottom 4 vertical plane top 5 radius dim_objectslits := 0.002032&0.002032&0.035000&0.035000&1;
160/1000 inch full horizontal openingdim_imageslits := 0.000762&0.000762&0.005080&0.005080&1;
Appendix A. erna.2.3.fox 113
60/1000 inch full horizontal opening400/1000 inch full vertical opening
dim_slit1 := 0.049&0.049&0.049&0.049&1;dim_slit2 := 0.049&0.049&0.049&0.049&1;dim_slit3 := 0.049&0.049&0.049&0.049&1;dim_slit4 := 0.049&0.049&0.049&0.049&1;dim_slit5 := 0.020&0.020&0.020&0.020&1;dim_MCP := 0.020&0.020&0.020&0.020&1; to be adjusted dim_Si := 0.030&0.030&0.030&0.030&1; dim_shutter := 0.049&0.049&0.049&0.049&1;dim_slitdip := 0.049&0.049&0.049&0.049&1;SFCin : special valve flange at entrance of side FC dipexit : exit flange of the dipole dim_SFCin := 0.034&0.049&0.049&0.049&0.049;dim_dipexit := 0.049&0.049&0.039&0.039&0.049;---------------------------------------------
ENDPROCEDURE; InitGeometry---------------------------------------------------- elements of the separator ----------------------------------------------------
PROCEDURE drift l start stop; 4" pipesVARIABLE dl 1;IF stop>0;
dl := stop-start;ELSEIF 1=1;
dl := l-start;ENDIF;DriftLength dl;chamber := 0.049&0.049&0.049&0.049&0.049;chamberlen := l;name := ’drift’;
ENDPROCEDURE; drift----------------------------------------------------
PROCEDURE FaradayCup diam;IF showSlitsAndFCs;
DriftLength 0;PoincareSection diam/2;
ENDIF;chamber := 0.049&0.049&0.049&0.049&0.049;chamberlen := 0;name := ’Faraday cup’;
ENDPROCEDURE; FaradayCup----------------------------------------------------
PROCEDURE slit dim_slit; slits and edgesVARIABLE x_min 1;VARIABLE x_max 1;VARIABLE y_min 1;VARIABLE y_max 1;VELGET dim_slit 1 x_min;VELGET dim_slit 2 x_max;VELGET dim_slit 3 y_min;VELGET dim_slit 4 y_max;IF showSlitsAndFCs;
PoincareSection (x_min+x_max+y_min+y_max)/4;ENDIF;chamber := dim_slit;chamberlen := 0;name := ’slit’;
ENDPROCEDURE; slit----------------------------------------------------
PROCEDURE slit_x dim_slit; slits and edgesVARIABLE x_min 1;VARIABLE x_max 1;VELGET dim_slit 1 x_min;VELGET dim_slit 2 x_max;IF showSlitsAndFCs;
PoincareSection (x_min+x_max)/2;ENDIF;chamber := dim_slit;chamberlen := 0;name := ’slit’;
ENDPROCEDURE; slit_x----------------------------------------------------
PROCEDURE slit_y dim_slit; slits and edgesVARIABLE y_min 1;VARIABLE y_max 1;VELGET dim_slit 3 y_min;VELGET dim_slit 4 y_max;IF showSlitsAndFCs;
PoincareSection (y_min+y_max)/2;ENDIF;chamber := dim_slit;chamberlen := 0;name := ’slit’;
ENDPROCEDURE; slit_y----------------------------------------------------
PROCEDURE ANALYSINGMAGNET_INx;IF debugging;
WRITE 6 ’***ANALYSINGMAGNET_IN’;ENDIF;FringeFieldMode FF_MODE_1_ENTRANCE;MagneticSector 0.644 90.0/2.0 0.03 0 0 0 0 0;FringeFieldMode FF_MODE0_OFF;MagneticSector 0.644 90.0/2.0 0.03 0 0 0 0 0;FringeFieldMode fringefield_mode;chamber := 0.049&0.049&0.035&0.035&0.049;chamberlen := 0;name := ’analysing magnet in’;
ENDPROCEDURE; ANALYSINGMAGNET_INPROCEDURE ANALYSINGMAGNET_IN;
VARIABLE eff_len 1;VARIABLE angle 1;IF debugging;
WRITE 6 ’***ANALYSINGMAGNET_IN’;ENDIF;eff_len := PI/180*90.0*1.27-element_start(EL_ANALYSINGMAGNET_IN);IF element_stop(EL_ANALYSINGMAGNET_IN)>0;
eff_len := element_stop(EL_ANALYSINGMAGNET_IN)-element_start(EL_ANALYSINGMAGNET_IN);
ENDIF;angle := 180/PI*eff_len/1.27;
MagneticSector 0.644 angle 0.03 0 0 0 0 0; DI 1.27 angle 0.0125 26.565 0 26.565 0;chamber := 0.049&0.049&0.035&0.035&0.049;chamberlen := PI/180*52.5*1.27; physical chambername := ’analysing magnet in’;
Appendix A. erna.2.3.fox 114
ENDPROCEDURE; ANALYSINGMAGNET_IN----------------------------------------------------
PROCEDURE ANALYSINGMAGNET_OUTx;IF debugging;
WRITE 6 ’***ANALYSINGMAGNET_OUT’;ENDIF;FringeFieldMode FF_MODE0_OFF;MagneticSector 0.644 90.0/2.0 0.03 0 0 0 0 0;FringeFieldMode FF_MODE_2_EXIT;MagneticSector 0.644 90.0/2.0 0.03 0 0 0 0 0;FringeFieldMode fringefield_mode;chamber := 0.049&0.049&0.035&0.035&0.049;chamberlen := 0;name := ’analysing magnet out’;
ENDPROCEDURE; ANALYSINGMAGNET_OUT----------------------------------------------------
PROCEDURE ANALYSINGMAGNET_OUT;IF debugging;
WRITE 6 ’***ANALYSINGMAGNET_OUT’;ENDIF;chamber := 1&1&1&1&1;chamberlen := 0;name := ’currently not used’;
ENDPROCEDURE; ANALYSINGMAGNET_OUT----------------------------------------------------
PROCEDURE SWITCHINGMAGNET;VARIABLE eff_len 1;VARIABLE angle 1;IF debugging;
WRITE 6 ’***SWITCHINGMAGNET’;ENDIF;eff_len := PI/180*40.0*0.894-element_start(EL_SWITCHINGMAGNET);IF element_stop(EL_SWITCHINGMAGNET)>0;
eff_len := element_stop(EL_SWITCHINGMAGNET)-element_start(EL_SWITCHINGMAGNET);
ENDIF;angle := 180/PI*eff_len/0.894;ChangeBending;MagneticSector 0.894 angle 0.03 0 0 0 0 0;ChangeBending;chamber := 0.049&0.049&0.035&0.035&0.049;chamberlen := PI/180*40.0*0.894; physical chambername := ’switching magnet’;
ENDPROCEDURE; SWITCHINGMAGNET----------------------------------------------------
PROCEDURE ESA_A;VARIABLE eff_len 1;VARIABLE angle 1;IF debugging;
WRITE 6 ’***ESA SECTOR’;ENDIF;eff_len := PI/180*45.0*2.54-element_start(EL_ESA_A);IF element_stop(EL_ESA_A)>0;
eff_len := element_stop(EL_ESA_A)-element_start(EL_ESA_A);ENDIF;angle := 180/PI*eff_len/2.54;
ChangeBending; FringeFieldMode FF_MODE0_OFF;ElectricSector 2.54 angle 0.0125 2 -3 4 -5 6;
ChangeBending; FringeFieldMode fringefield_mode;chamber := 0.049&0.049&0.035&0.035&0.049;chamberlen := PI/180*22.5*1.596; physical chambername := ’ESA_A’;
ENDPROCEDURE; ESA_A----------------------------------------------------
PROCEDURE ESA_B;VARIABLE eff_len 1;VARIABLE angle 1;IF debugging;
WRITE 6 ’***ESA SECTOR’;ENDIF;eff_len := PI/180*45.0*2.54-element_start(EL_ESA_B);IF element_stop(EL_ESA_B)>0;
eff_len := element_stop(EL_ESA_B)-element_start(EL_ESA_B);
ENDIF;angle := 180/PI*eff_len/2.54;
ChangeBending; FringeFieldMode FF_MODE0_OFF;ElectricSector 2.54 angle 0.0125 2 -3 4 -5 6;FringeFieldMode fringefield_mode;
ChangeBending; chamber := 0.049&0.049&0.035&0.035&0.049;chamberlen := PI/180*22.5*1.596; physical chambername := ’ESA_B’;
ENDPROCEDURE; ESA_B----------------------------------------------------
PROCEDURE FOCTRIPLET; focussing tripletIF debugging;
WRITE 6 ’***FOCUSSING TRIPLET’;ENDIF;MagneticQuadrupole 0.190 -B_foctrip_ex 0.053;DriftLength 0.105;MagneticQuadrupole 0.290 +B_foctrip_in 0.053;DriftLength 0.105;MagneticQuadrupole 0.190 -B_foctrip_ex 0.053;chamber := 0.049&0.049&0.049&0.049&0.049;chamberlen := 2*0.190+0.290+2*0.105;name := ’focussing triplet’;
ENDPROCEDURE; TRIPLET----------------------------------------------------
PROCEDURE GASTARGET; dummy at presentIF debugging;
WRITE 6 ’***GASTARGET: dummy at present!’;ENDIF;IF element_start(EL_GASTARGET)=0;
PoincareSection 0.0030/2;ENDIF;IF element_stop(EL_GASTARGET)=0;
DriftLength .040-element_start(EL_GASTARGET);PoincareSection 0.0058/2;
ELSEIF 1=1;DriftLength element_stop(EL_GASTARGET)-element_start(EL_GASTARGET);
Appendix A. erna.2.3.fox 115
ENDIF;chamber := 1&1&1&1&1; 1&1&1&1&0.0058/2;chamberlen := .3040;name := ’gastarget’;
ENDPROCEDURE; GASTARGET----------------------------------------------------
PROCEDURE CSSM; Charge State Selection Magnet magnetVARIABLE eff_len 1;VARIABLE angle 1;VARIABLE p_b 1;VARIABLE r_CSSM 1;VARIABLE CSSM_bending 1;r_CSSM := 0.476;CSSM_bending := 30.;IF debugging;
WRITE 6 ’***CSSM (30deg magnet)’;ENDIF;eff_len := PI/180*CSSM_bending*r_CSSM-element_start(EL_CSSM);IF element_stop(EL_CSSM)>0;
eff_len := element_stop(EL_CSSM)-element_start(EL_CSSM);
ENDIF;angle := 180/PI*eff_len/r_CSSM;
FringeFieldMode FF_MODE0_OFF; ChangeBending;
MagneticDipole r_CSSM angle 0.0320 7.5000 7.5000; ChangeBending; FringeFieldMode fringefield_mode;
p_b := sqrt(2*A*AMUMEV*W)*1E6/CLIGHT;B_cssm := p_b/q/r_CSSM;
B_cssm_exp := (317.33*SQRT(A*W)/q + 1.14)/1000;
chamber := 0.049&0.049&0.030&0.030&1;chamberlen := 2*0.212;chamberlen := PI/180*CSSM_bending*r_CSSM;name := ’CSSM’;
ENDPROCEDURE; Charge State Selection Magnet magnet----------------------------------------------------
PROCEDURE TRIPLET; triplet sigmaphiIF debugging;
WRITE 6 ’***TRIPLET sigma phi’;ENDIF;MagneticQuadrupole 0.190 -B_trip_ex 0.053;RA 0.92;DriftLength 0.105;MagneticQuadrupole 0.290 +B_trip_in 0.053;RA 0.92;DriftLength 0.105;MagneticQuadrupole 0.190 -B_trip_ex 0.053;RA 0.92;chamber := 0.049&0.049&0.049&0.049&0.049;chamberlen := 2*0.190+0.290+2*0.105;name := ’triplet sigma phi’;
ENDPROCEDURE; TRIPLET----------------------------------------------------
PROCEDURE SEPWF_DF_2; Wien filter danfysikVARIABLE E_SEPWF2 1;VARIABLE R_bend_SEPWF2 1;ChangeBending;IF debugging;
WRITE 6 ’***SEPWF2 danfysik’;ENDIF;E_SEPWF2 := U_SEPWF2/(2*0.035);B_SEPWF2 := -E_SEPWF2*SQRT(A*AMUMEV/2/W)/CLIGHT;R_bend_SEPWF2 := 2*W*1E6/q/E_SEPWF2;B_SEPWF2_exp := -(1.385*U_SEPWF2/1000*sqrt(A/W)+0.38)/1000;FringeFieldMode FF_MODE0_OFF;IF element_stop(EL_SEPWF2)=0;
WienFilter R_bend_SEPWF2R_bend_SEPWF20.508-element_start(EL_SEPWF2)0.035;
ELSEIF 1=1;WienFilter R_bend_SEPWF2
R_bend_SEPWF2element_stop(EL_SEPWF2)-element_start(EL_SEPWF2)0.035;
ENDIF;FringeFieldMode fringefield_mode;chamber := 0.035&0.035&0.049&0.049&0.999;chamberlen := 0.508;name := ’separation WF 2 danfysik’;ChangeBending;
ENDPROCEDURE; SEPWF_DF_2----------------------------------------------------
PROCEDURE SINGLET1; 4" singlet sigmaphiIF debugging;
WRITE 6 ’***SINGLET1 sigma phi’;ENDIF;
MagneticQuadrupole 0.150 B_singl1 0.053;chamber := 0.049&0.049&0.049&0.049&0.049;chamberlen := 0.150;name := ’separator singlet 1 sigma phi’;
ENDPROCEDURE; SINGLET1----------------------------------------------------
PROCEDURE DIPOLE; 60deg magnetVARIABLE eff_len 1;VARIABLE angle 1;VARIABLE p_b 1;IF debugging;
WRITE 6 ’***DIPOLE (60deg magnet)’;ENDIF;eff_len := PI/180*60*0.367-element_start(EL_DIPOLE);IF element_stop(EL_DIPOLE)>0;
eff_len := element_stop(EL_DIPOLE)-element_start(EL_DIPOLE);
ENDIF;angle := 180/PI*eff_len/0.367;
ChangeBending; MagneticSector 0.367 angle 0.0375 0 0 0 0 0;
ChangeBending; p_b := sqrt(2*A*AMUMEV*W)*1E6/CLIGHT;B_dipole := p_b/q/0.367;
Appendix A. erna.2.3.fox 116
B_dipole_exp := (317.33*SQRT(A*W)/q + 1.14)/1000;chamber := 0.049&0.049&0.035&0.035&1;chamberlen := 2*0.212;chamberlen := PI/180*60*0.367;name := ’dipole 60deg’;
ENDPROCEDURE; DIPOLE----------------------------------------------------
PROCEDURE DOUBLET; 4" doublet CalTechIF debugging;
WRITE 6 ’***DOUBLET CalTech’;ENDIF;MagneticQuadrupole 0.230 -B_SEPdoublet_1 0.0521;DriftLength 0.175;MagneticQuadrupole 0.230 +B_SEPdoublet_2 0.0521;chamber := 0.049&0.049&0.049&0.049&0.049;chamberlen := 2*0.230+0.175;name := ’separator doublet CalTech’;
ENDPROCEDURE; DOUBLET----------------------------------------------------
PROCEDURE SINGLET2; 3" singlet CalTechIF debugging;
WRITE 6 ’***SINGLET2 CalTech’;ENDIF;MagneticQuadrupole 0.180 -B_singl2 0.0385;chamber := 0.036&0.036&0.036&0.036&0.036;chamberlen := 0.180;name := ’separator singlet 2 CalTech’;
ENDPROCEDURE; SINGLET2----------------------------------------------------
PROCEDURE CALTECHWF; Wien filter CalTechVARIABLE E_SEPWF2 1;VARIABLE R_bend_SEPWF2 1;IF debugging;
WRITE 6 ’***SEPWF2 CalTech (still!)’;ENDIF;E_SEPWF2 := U_SEPWF2/(2*0.032);B_SEPWF2 := q*E_SEPWF2*SQRT(A*AMUMEV/2/W)/CLIGHT; I introduced the charge q multiplying the electric field. JGDR_bend_SEPWF2 := 2*W*1E6/q/E_SEPWF2;B_SEPWF2_exp := (1.239*U_SEPWF2/1000*sqrt(A/W)+1.37)/1000;FringeFieldMode FF_MODE0_OFF;WienFilter R_bend_SEPWF2 R_bend_SEPWF2 0.578 0.032;FringeFieldMode fringefield_mode;chamber := 0.032&0.032&0.032&0.032&0.032;chamberlen := 0.578;name := ’separator WF 2 CalTech (still!)’;
ENDPROCEDURE; CALTECHWF----------------------------------------------------
PROCEDURE SEPWF_DF_1; Danfysik Wien filter IIVARIABLE E_SEPWF1 1;VARIABLE R_bend_B_SEPWF1 1;VARIABLE R_bend_E_SEPWF1 1;IF debugging;
WRITE 6 ’***SEPWF1 Danfysik’;ENDIF;E_SEPWF1 := U_SEPWF1/(2*0.045);B_SEPWF1 := q*E_SEPWF1*SQRT(A*AMUMEV/2/W)/CLIGHT;R_bend_E_SEPWF1 := 2*W*1E6/q/E_SEPWF1;R_bend_B_SEPWF1 := 2*W*1E6/q/E_SEPWF1;B_SEPWF1_exp := (1.239*U_SEPWF1/1000*sqrt(A/W)+1.37)/1000;FringeFieldMode FF_MODE0_OFF;IF element_stop(EL_SEPWF1)=0;
WienFilter R_bend_E_SEPWF1R_bend_B_SEPWF10.521-element_start(EL_SEPWF1)0.045; Before it was 0.035. JGD
ELSEIF 1=1;WienFilter R_bend_E_SEPWF1
R_bend_B_SEPWF1element_stop(EL_SEPWF1)-element_start(EL_SEPWF1)0.045; Before it was 0.035. JGD
ENDIF;FringeFieldMode fringefield_mode;chamber := 0.035&0.035&0.049&0.049&0.999;chamberlen := 0.521;name := ’separator WF 1 Danfysik’;
ENDPROCEDURE; SEPWF_DF_1----------------------------------------------------
PROCEDURE slit5_FC4_ICTin; slit+FC+ICT entranceIF debugging;
WRITE 6 ’***slit5+FC4+ICTin’;ENDIF;MagneticQuadrupole 0.394 0. 0.020; ap. set to 18mm to see FC4 slitschamber := 0.020&0.020&0.020&0.020&0.020;chamberlen := 0.395;name := ’slit4 -> ICT’;
ENDPROCEDURE; slit4_FC4_ICTin----------------------------------------------------
PROCEDURE ICT; ionization chamber telescopeIF debugging;
WRITE 6 ’***ICT ionization chamber telescope’;ENDIF;MagneticQuadrupole 0.700 0 0.050;DriftLength 0.296;PoincareSection 0.030;chamber := 0.050&0.050&0.050&0.050&0.050;chamberlen := 0.700 + 0.296; 0.2m -> wallname := ’ICT’;
ENDPROCEDURE; ICT------------------------------------------------------------ procedures SaveMap_i, ApplyMap_i are used in procedure ProcessElement similar to SM and AM in cosy.fox ------------------------------------------------------------
PROCEDURE SaveMap_i i; saves momentary map to MP_i(i)VARIABLE k 1;LOOP k 1 TWOND;
MAP_i(k,i) := MAP(k);ENDLOOP;
ENDPROCEDURE; SaveMap_i-----------------------------------------------------------
PROCEDURE ApplyMap_i i; lets act MAP_i(i) on the momentary mapVARIABLE k 1;LOOP k 1 TWOND;
MSC(k) := MAP_i(k,i);ENDLOOP;LOCSET 0 0 0 0 0 0;UPDATE 1 1 1;
Appendix A. erna.2.3.fox 117
ENDPROCEDURE; ApplyMap_i--------------------------------------------------------------------
FUNCTION ReadNumVal default; VARIABLE default 1;
VARIABLE readval 1;VARIABLE ok 1;LFALSE ok;WHILE NOT(ok);
READ 5 readval;IF TYPE(readval)#TYPE(0);
WRITE 6 ’Enter a numerical value or press <ENTER> for default!’;ELSEIF 1=1;
LTRUE ok;ENDIF;
ENDWHILE;IF readval=0;
readval := default;WRITE 6 ’I will take the default.’;
ENDIF;ReadNumVal := readval;
ENDFUNCTION; ReadNumVal-------------------------------------------------------------------------- ORDER OF THE SEPARTATOR ELEMENTS - lets act the i’th element on the momentary map - saves the new map into Map_i (i) - sets dim (i) to the size of the i’th element for elem_no = INIT_FIRST_LAST_ELEMENT variables first_element and last_element are initialized --------------------------------------------------------------------------
PROCEDURE ProcessElement elem_no;VARIABLE err 1;VARIABLE errtxt 80;err:= (elem_no<first_element)+(elem_no<PHYSICAL_FIRST_ELEMENT);err:=err+(elem_no>last_element)+(elem_no>PHYSICAL_LAST_ELEMENT);IF elem_no=INIT_FIRST_LAST_ELEMENT;
LFALSE err;ENDIF;IF err;
errtxt:= ’*** ERROR: unknown element number’&SF(elem_no,’(I4)’);errtxt:=errtxt&’ in PROCEDURE ProcessElement’;WRITE 6 errtxt;WRITE 6 ’*** exiting...’;QUIT 1;
ENDIF;FringeFieldMode fringefield_mode;SetAxisDeviation elem_no;IF elem_no=INIT_FIRST_LAST_ELEMENT;
PHYSICAL_FIRST_ELEMENT := EL_STARTPOINT;PHYSICAL_LAST_ELEMENT := EL_ICT;first_element := PHYSICAL_FIRST_ELEMENT;last_element := PHYSICAL_LAST_ELEMENT;
ELSEIF elem_no=EL_STARTPOINT;drift 0 0 0;SaveMap_i elem_no; dim(elem_no):=chamber;
*** INSERT NEW ELEMENTS HERE ***ELSEIF elem_no=XXX;
drift 0 0 0;SaveMap_i elem_no; dim(elem_no):=chamber;
********************************ELSEIF elem_no=EL_DL_STARTPOINT_HEFC;
drift DL_startpoint_HEFC element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_HEFC;FaradayCup .008;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_HEFC_OBJECTSLITS;drift DL_HEFC_objectslits element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_OBJECTSLITS;IF projection_plane=’x’;
slit_x dim_objectslits;ELSEIF projection_plane=’y’;
slit_y dim_objectslits;ELSEIF 1=1;
slit dim_objectslits ;ENDIF;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_OBJSLITS_ANALYSINGMAGNET;drift DL_objslits_analysingmagnet element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_ANALYSINGMAGNET_IN;ANALYSINGMAGNET_IN;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_ANALYSINGMAGNET_OUT;ANALYSINGMAGNET_OUT;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_ANALYSINGMAGNET_IMAGESLITS;drift DL_analysingmagnet_imageslits element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_IMAGESLITS;IF projection_plane=’x’;
slit_x dim_imageslits;ELSEIF projection_plane=’y’;
slit_y dim_imageslits;ELSEIF 1=1;
slit dim_imageslits;ENDIF;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_IMAGESLITS_IMAGEFC;drift DL_imageslits_imageFC element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_IMAGEFC;FaradayCup .008;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_IMAGEFC_ESA_A;drift DL_imageFC_ESA_A element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_ESA_A;ESA_A;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_ESA_A_ESA_B;drift DL_ESA_A_ESA_B element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
Appendix A. erna.2.3.fox 118
ELSEIF elem_no=EL_ESA_B;ESA_B;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_ESA_B_switchingmagnet;drift DL_ESA_B_switchingmagnet element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SWITCHINGMAGNET;SWITCHINGMAGNET;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SWITCHINGMAGNET_GSISLITS;drift DL_switchingmagnet_GSISLITS element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_GSISLITS;slit dim_slit1;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_GSISLITS_FOCTRIPLET;drift DL_GSISLITS_FOCTRIPLET element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_FOCTRIPLET;FOCTRIPLET;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_FOCTRIPLET_GASTARGET;drift DL_FOCTRIPLET_GASTARGET element_start(elem_no)
element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_GASTARGET;GASTARGET;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_GASTARGET_CSSM;drift DL_gastarget_CSSM element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_CSSM;CSSM;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_CSSM_TRIP;drift DL_CSSM_triplet element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_TRIPLET;TRIPLET;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_TRIP_SLIT1;drift DL_trip_slit1 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT1;slit dim_slit1;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SLIT1_FC1;drift DL_slit1_FC1 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_FC1;FaradayCup .015;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_FC1_SEPWF1;drift DL_FC1_SEPWF1 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SEPWF1;SEPWF_DF_1;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SEPWF1_SFCIN;drift DL_SEPWF1_SFCin element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT_SFCIN;slit dim_SFCin ; SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SFCIN_SHUTTER;drift DL_SFCin_shutter element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SHUTTER;slit dim_shutter;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SHUTTER_SLIT2;drift DL_shutter_slit2 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT2;slit dim_slit2;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SLIT2_SINGLET1;drift DL_slit2_singl1 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SINGLET1;SINGLET1;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SINGLET1_DIPOLE;drift DL_singl1_dipole element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DIPOLE;DIPOLE;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_DIPOLE_SLITDIPOLE;drift DL_dip_slitdip element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT_DIPOLE;slit dim_slitdip;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SLITDIPOLE_DIPOLEEXIT;drift DL_slitdip_dipexit element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT_DIPOLE_EXIT;slit dim_dipexit;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_DIPOLEEXIT_DOUBLET;drift DL_dipexit_doubl element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DOUBLET;DOUBLET;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_DOUBLET_SLIT3;drift DL_doubl_slit3 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT3;
Appendix A. erna.2.3.fox 119
slit dim_slit3;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SLIT3_SEPWF2;drift DL_slit3_SEPWF2 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SEPWF2;SEPWF_DF_2;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SEPWF2_SLIT4;drift DL_SEPWF2_slit4 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT4;slit dim_slit4;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_SLIT4_MCP;drift DL_slit4_MCP element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_MCP;slit dim_MCP;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_MCP_Si;drift DL_MCP_Si element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_Si;slit dim_Si;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_DL_Si_SLIT5;drift DL_Si_slit5 element_start(elem_no) element_stop(elem_no);SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT5;slit dim_slit5;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_SLIT5_FC4_ICTIN;slit5_FC4_ICTin;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF elem_no=EL_ICT;ICT;SaveMap_i elem_no; dim(elem_no):=chamber;
ELSEIF (elem_no>last_element)+(elem_no>PHYSICAL_LAST_ELEMENT);errtxt:= ’*** ERROR: unknown element number’&SF(elem_no,’(I4)’);errtxt:=errtxt&’ in PROCEDURE ProcessElement’;WRITE 6 errtxt;WRITE 6 ’*** exiting...’;QUIT 1;
ENDIF;UnsetAxisDeviation elem_no;
ENDPROCEDURE; ProcessElement-------------------------------------------------------------------- visualize the horizontal (PlotX) and vertical (PlotY) and laboratory (PlotLab) plane of the system including rays --------------------------------------------------------------------
PROCEDURE PlotX unit scale;VARIABLE i 1;VARIABLE k 1;
VARIABLE PLOT 1500;ClearRays;IF N_ray_max>999;
WRITE 6 ’***PlotX: Too many rays to visualize them all!’;WRITE 6 ’ I will randomly select 100 rays ...’;LOOP i 1 100;
RERAN k; -1 < k < 1 k := INT((k+1)/2 * N_ray_max) + 1; 1 <= k <= N_ray_maxSelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)
Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);ENDLOOP;
ELSEIF 1=1;LOOP k 1 N_ray_max;
SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);
ENDLOOP;ENDIF;PictureTYpe scale;UnityMap;projection_plane:=’x’;BeginPicture;LOOP i first_element last_element;
ProcessElement i;ENDLOOP;EndPicture;PrintPicture unit 0 0;projection_plane:=’0’;
ENDPROCEDURE; PlotX---------------------------------------------------------
PROCEDURE PlotY unit scale;VARIABLE i 1; VARIABLE k 1;ClearRays;IF N_ray_max>1000;
WRITE 6 ’***PlotY: Too many rays to visualize them all!’;WRITE 6 ’ I will randomly select 99 rays ...’;LOOP i 1 100;
RERAN k; -1 < k < 1 k := INT((k+1)/2 * N_ray_max) + 1; 1 <= k <= N_ray_maxSelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)
Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);ENDLOOP;
ELSEIF 1=1;LOOP k 1 N_ray_max;
SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);
ENDLOOP;ENDIF;PictureTYpe scale;UnityMap;projection_plane:=’y’;BeginPicture;LCE := 1;LOOP i first_element last_element;
ProcessElement i;ENDLOOP;EndPicture;PrintPicture unit 0 90;projection_plane:=’0’;
ENDPROCEDURE; PlotY---------------------------------------------------------
PROCEDURE PlotLab unit scale;
Appendix A. erna.2.3.fox 120
VARIABLE i 1;VARIABLE k 1;ClearRays;IF N_ray_max>1000;
WRITE 6 ’***PlotLab: Too many rays to visualize them all!’;WRITE 6 ’ I will randomly select 99 rays ...’;LOOP i 1 100;
RERAN k; -1 < k < 1 k := INT((k+1)/2 * N_ray_max) + 1; 1 <= k <= N_ray_maxSelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)
Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);ENDLOOP;
ELSEIF 1=1;LOOP k 1 N_ray_max;
SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);
ENDLOOP;ENDIF;PictureTYpe scale;UnityMap;projection_plane:=’0’;BeginPicture;LCE := 1;LOOP i first_element last_element;
ProcessElement i;ENDLOOP;EndPicture;PrintPicture unit phi_lab theta_lab;
ENDPROCEDURE; PlotLabFUNCTION SESSIONPREFIX dummy;
VARIABLE digits 1;VARIABLE prefix 80;VARIABLE format 7;digits := INT(LOG(session_number)/LOG(10))+1;prefix := SS(’000’, 1, 3-digits);format := ’(I’&SF(digits, ’(I1)’)&’)’;prefix := prefix&SF(session_number, format);prefix := session_name&prefix;SESSIONPREFIX := prefix&’_’;
ENDFUNCTION;-------------------------------------------------------------------- determination of transmission by tracking ions through the system initial coordinates from the variable Ra(ion No, parameter) --------------------------------------------------------------------
PROCEDURE CalcTransmission;VARIABLE beam_is_in 1;VARIABLE beam_was_in 1;VARIABLE x 1;VARIABLE y 1;VARIABLE x_min 1;VARIABLE x_max 1;VARIABLE y_min 1;VARIABLE y_max 1;VARIABLE r_max 1;VARIABLE N_tot 1;VARIABLE N_out 1;VARIABLE N_in 1;VARIABLE trans 1;VARIABLE dummy 90;VARIABLE txt 90;VARIABLE txt1 40;VARIABLE txt2 40;VARIABLE txt3 40;VARIABLE txt4 40;VARIABLE txt5 40;VARIABLE txt6 40;VARIABLE txt7 40;VARIABLE element 1;VARIABLE element_out 1;VARIABLE thisray 1;VARIABLE markrows 1;VARIABLE progress_step 1;VARIABLE progress_mark 1;VARIABLE progress_ind 50;VARIABLE blanks 50;VARIABLE i 1;VARIABLE slit1_maxx 1;VARIABLE slit1_maxy 1;VARIABLE slit1_minx 1;VARIABLE slit1_miny 1;VARIABLE WF1exit_maxx 1;VARIABLE WF1exit_maxy 1;VARIABLE WF1exit_minx 1;VARIABLE WF1exit_miny 1;VARIABLE SFC_maxx 1;VARIABLE SFC_maxy 1;VARIABLE SFC_minx 1;VARIABLE SFC_miny 1;VARIABLE slit2_maxx 1;VARIABLE slit2_maxy 1;VARIABLE slit2_minx 1;VARIABLE slit2_miny 1;VARIABLE dipexit_maxx 1;VARIABLE dipexit_maxy 1;VARIABLE dipexit_minx 1;VARIABLE dipexit_miny 1;VARIABLE slit4_maxx 1;VARIABLE slit4_maxy 1;VARIABLE slit4_minx 1;VARIABLE slit4_miny 1;VARIABLE final_maxx 1;VARIABLE final_maxy 1;VARIABLE final_minx 1;VARIABLE final_miny 1;------------------------------------------------FUNCTION FormattedNumber x;
VARIABLE fn 8;IF ABS(x)<1;
IF x<0;fn := SF(-x, ’(F8.5)’);fn := ’ -’&SS(fn, 3, 8);
ELSEIF 1=1;fn := SF( x, ’(F8.5)’);
ENDIF;ELSEIF 1=1;
fn := ’ *******’; fn := ’ 9.99999’;
Appendix A. erna.2.3.fox 121
ENDIF;FormattedNumber := fn;
ENDFUNCTION;------------------------------------------------------------------------------------------------PROCEDURE CheckSize;
IF x<-x_min; LFALSE beam_is_in;ELSEIF x>+x_max; LFALSE beam_is_in;ELSEIF y<-y_min; LFALSE beam_is_in;ELSEIF y>+y_max; LFALSE beam_is_in;ELSEIF SQRT(x^2+y^2)>+r_max; LFALSE beam_is_in;ENDIF;
ENDPROCEDURE; CheckSize------------------------------------------------WRITE 6 ’ tracking’&SF(N_ray_max,’(I7)’)&’ ions...’;OPENF 15 SESSIONPREFIX(1)&’untransmitted_ions’ ’unknown’;OPENF 16 SESSIONPREFIX(1)&’plane’ ’unknown’;OPENF 17 SESSIONPREFIX(1)&’transmitted_ions’ ’unknown’;------------------------------------------------------- loop setting the variable MAP_i(i) and dim(i) for map and vacuum chamber size of the i’th element -------------------------------------------------------LOOP element first_element last_element;
UnityMap;ProcessElement element;
ENDLOOP;------------------------------------------------------------ loop over the ions stored in Ra(ion-no, property) ------------------------------------------------------------N_tot := 0;N_out := 0;slit1_maxx := -100000;slit1_maxy := -100000;slit1_minx := 100000;slit1_miny := 100000;WF1exit_maxx := -100000;WF1exit_maxy := -100000;WF1exit_minx := 100000;WF1exit_miny := 100000;SFC_maxx := -100000;SFC_maxy := -100000;SFC_minx := 100000;SFC_miny := 100000;slit2_maxx := -100000;slit2_maxy := -100000;slit2_minx := 100000;slit2_miny := 100000;dipexit_maxx := -100000;dipexit_maxy := -100000;dipexit_minx := 100000;dipexit_miny := 100000;slit4_maxx := -100000;slit4_maxy := -100000;slit4_minx := 100000;slit4_miny := 100000;final_maxx := -100000;final_maxy := -100000;final_minx := 100000;final_miny := 100000;markrows := 15;progress_step := N_ray_max/markrows;progress_mark := 0;progress_ind := ’**************************************************’;blanks := ’ ’;LOOP thisray 1 N_ray_max;
WRITE 6 ’tracking ion ’&SF(thisray, ’(I4)’); UnityMap;ClearRays;SelectRay Ra(thisray,1) Ra(thisray,2) Ra(thisray,3)
Ra(thisray,4) Ra(thisray,5) Ra(thisray,6)Ra(thisray,7) Ra(thisray,8) Ra(thisray,9);
VELGET RAY(1) 2 x; store 2nd component of vector RAY(1) in xVELGET RAY(3) 2 y; store 2nd component of vector RAY(3) in yN_tot := N_tot + 1;LTRUE beam_is_in;LTRUE beam_was_in;element := first_element;--------------------------------------------------------------- tracking ion through elements first_element ..last_element for each element : 1 ion coordinates x,y are checked at entrance of the i‘th element (first call of ’CheckSize’) 2 apply map of the i’th element on the momentary map and ray coordinates 3 ion coordinates x,y are checked at exit of the i‘th element (second call of ’CheckSize’) 4 If coordinates larger than chamber size (x_min,...) => N_out = N_out+1 and tracking for this ion stopped at i’th element ---------------------------------------------------------------
*****WHILE beam_is_in;
*****LOOP element first_element last_element;
VELGET dim(element) 1 x_min;VELGET dim(element) 2 x_max;VELGET dim(element) 3 y_min;VELGET dim(element) 4 y_max;VELGET dim(element) 5 r_max;CheckSize;IF NOT(beam_is_in)*(beam_was_in);
IF N_ray_max<500;txt:=COLORNAME(Ra(thisray, 9));txt:=SF(thisray, ’(I4)’)&’: ’&txt&SS(’ ’, 1, 6-LENGTH(txt));WRITE 6 txt&’ out before ’&ELEMENTNAME(element);element_out := element;LFALSE beam_was_in;
ENDIF;ENDIF;
********************ApplyMap_i element;VELGET RAY(1) 2 x;VELGET RAY(3) 2 y;IF element=EL_SLIT1;
IF x<slit1_minx; slit1_minx :=x; ENDIF;
Appendix A. erna.2.3.fox 122
IF y<slit1_miny; slit1_miny :=y; ENDIF;IF x>slit1_maxx; slit1_maxx :=x; ENDIF;IF y>slit1_maxy; slit1_maxy :=y; ENDIF;
ENDIF;IF element=EL_SLIT2;
IF x<slit2_minx; slit2_minx :=x; ENDIF;IF y<slit2_miny; slit2_miny :=y; ENDIF;IF x>slit2_maxx; slit2_maxx :=x; ENDIF;IF y>slit2_maxy; slit2_maxy :=y; ENDIF;
ENDIF;IF element=EL_SLIT4;
IF x<slit4_minx; slit4_minx :=x; ENDIF;IF y<slit4_miny; slit4_miny :=y; ENDIF;IF x>slit4_maxx; slit4_maxx :=x; ENDIF;IF y>slit4_maxy; slit4_maxy :=y; ENDIF;
ENDIF;IF element=EL_SHUTTER;
IF x<SFC_minx; SFC_minx :=x; ENDIF;IF y<SFC_miny; SFC_miny :=y; ENDIF;IF x>SFC_maxx; SFC_maxx :=x; ENDIF;IF y>SFC_maxy; SFC_maxy :=y; ENDIF;
ENDIF;IF element=EL_SLIT_DIPOLE_EXIT;
IF x<dipexit_minx; dipexit_minx:=x; ENDIF;IF y<dipexit_miny; dipexit_miny:=y; ENDIF;IF x>dipexit_maxx; dipexit_maxx:=x; ENDIF;IF y>dipexit_maxy; dipexit_maxy:=y; ENDIF;
ENDIF;IF element=EL_SEPWF1;
IF x<WF1exit_minx; WF1exit_minx:=x; ENDIF;IF y<WF1exit_miny; WF1exit_miny:=y; ENDIF;IF x>WF1exit_maxx; WF1exit_maxx:=x; ENDIF;IF y>WF1exit_maxy; WF1exit_maxy:=y; ENDIF;
ENDIF;IF element=last_element;
IF x<final_minx; final_minx :=x; ENDIF;IF y<final_miny; final_miny :=y; ENDIF;IF x>final_maxx; final_maxx :=x; ENDIF;IF y>final_maxy; final_maxy :=y; ENDIF;
ENDIF;*****
IF element=EL_SINGLET1;WRITE 16 SF(x,’(F7.5)’)&’ ’&SF(y,’(F7.5)’);
ENDIF;*****
IF beam_is_in;CheckSize;IF NOT(beam_is_in)*(beam_was_in);
IF N_ray_max<500;txt:=COLORNAME(Ra(thisray, 9));txt:=SF(thisray, ’(I4)’)&’: ’&txt&SS(’ ’, 1, 6-LENGTH(txt));WRITE 6 txt&’ out after ’&ELEMENTNAME(element);element_out := element;LFALSE beam_was_in;
ENDIF;ENDIF;
ENDIF;*****
IF NOT(beam_is_in);N_out := N_out+1;
ENDIF;*****
IF (element=last_element); write to file <prefix>_plane ion parameters at end of tracking dummy:=SF(thisray, ’(I7)’);VELGET RAY(1) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(2) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(3) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(4) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(5) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(6) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(7) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(8) 2 x;dummy := dummy&FormattedNumber(x);x := Ra(thisray, 9);dummy := dummy&SF(x, ’(I2)’);WRITE 16 dummy;ENDIF;
IF (element=last_element)*(beam_is_in);txt := SF(thisray,’(I7)’)&’ ’;txt := txt&SF(Ra(thisray,1),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,2),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,3),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,4),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,5),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,6),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,7),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,8),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,9),’(I1)’);WRITE 17 txt;
*****LFALSE beam_is_in;
*****ENDIF;
*****element := element + 1;
ENDWHILE;*****
ENDLOOP;IF N_ray_max>markrows;
IF thisray>progress_step*progress_mark;trans := (N_tot-N_out)/N_tot*100;txt:=SS(progress_ind, 1, markrows-progress_mark);txt:=txt&SS(blanks, 1, progress_mark);txt:=txt&SF((N_tot-N_out)/N_tot*100, ’(F6.1)’)&’%’;WRITE 6 SF(N_ray_max-thisray, ’(I6)’)&’ ’&txt;progress_mark := progress_mark+1;
Appendix A. erna.2.3.fox 123
ENDIF;ELSEIF 1=1;
txt:=SS(progress_ind, 1, N_ray_max-thisray+1);txt:=txt&SS(blanks, 1, progress_mark);txt:=txt&SF((N_tot-N_out)/N_tot*100, ’(F6.1)’)&’%’;WRITE 6 SF(N_ray_max-thisray+1, ’(I6)’)&’ ’&txt;
ENDIF;IF NOT( beam_is_in );
N_out := N_out+1;txt := SF(thisray,’(I7)’)&’ ’;txt := txt&SF(Ra(thisray,1),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,2),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,3),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,4),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,5),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,6),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,7),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,8),’(F7.5)’)&’ ’;txt := txt&SF(Ra(thisray,9),’(I1)’)&’ ’;txt := txt&ELEMENTNAME(element_out);WRITE 15 txt;element_out := -1;
ENDIF;****** WRITE 16 SF(x, ’(F7.5)’)&’ ’&SF(y, ’(F7.5)’); ******
ENDLOOP;N_in := N_tot - N_out;trans := N_in/N_tot*100;WRITE 6 ’ total transmitted lost transmission [%] ’;txt := SF(N_tot,’(I7)’)&’ ’&SF(N_in, ’(I12)’)&’ ’;txt := txt&SF(N_out,’(I5)’)&’ ’&SF(trans,’(F17.1)’)&’ ’;WRITE 6 txt;WRITE 15 ’#’; WRITE 17 ’#’;CLOSEF 15; CLOSEF 17;WRITE 6’’’*** I wrote ray data of transmitted ions to file’’*** ’&SESSIONPREFIX(1)&’transmitted_ions !’’’;CLOSEF 16;session_number := session_number+1;WRITE 6 ’beam position in mm at’;txt := ’ FC1 slt: WF1 exit: SFCshutr: FC2 slt:’;txt := txt&’ dip. ex: FC4 slt: final:’;WRITE 6 txt;txt1 := ’xmin = ’&SF( slit1_minx*1000, ’(F10.1)’);txt2 := SF(WF1exit_minx*1000, ’(F10.1)’);txt3 := SF( SFC_minx*1000, ’(F10.1)’);txt4 := SF( slit2_minx*1000, ’(F10.1)’);txt5 := SF(dipexit_minx*1000, ’(F10.1)’);txt6 := SF( slit4_minx*1000, ’(F10.1)’);txt7 := SF( final_minx*1000, ’(F10.1)’);WRITE 6 txt1&txt2&txt3&txt4&txt5&txt6&txt7;txt1 := ’xmax = ’&SF( slit1_maxx*1000, ’(F10.1)’);txt2 := SF(WF1exit_maxx*1000, ’(F10.1)’);txt3 := SF( SFC_maxx*1000, ’(F10.1)’);txt4 := SF( slit2_maxx*1000, ’(F10.1)’);txt5 := SF(dipexit_maxx*1000, ’(F10.1)’);txt6 := SF( slit4_maxx*1000, ’(F10.1)’);txt7 := SF( final_maxx*1000, ’(F10.1)’);WRITE 6 txt1&txt2&txt3&txt4&txt5&txt6&txt7;txt1 := ’ymin = ’&SF( slit1_miny*1000, ’(F10.1)’);txt2 := SF(WF1exit_miny*1000, ’(F10.1)’);txt3 := SF( SFC_miny*1000, ’(F10.1)’);txt4 := SF( slit2_miny*1000, ’(F10.1)’);txt5 := SF(dipexit_miny*1000, ’(F10.1)’);txt6 := SF( slit4_miny*1000, ’(F10.1)’);txt7 := SF( final_miny*1000, ’(F10.1)’);WRITE 6 txt1&txt2&txt3&txt4&txt5&txt6&txt7;txt1 := ’ymax = ’&SF( slit1_maxy*1000, ’(F10.1)’);txt2 := SF(WF1exit_maxy*1000, ’(F10.1)’);txt3 := SF( SFC_maxy*1000, ’(F10.1)’);txt4 := SF( slit2_maxy*1000, ’(F10.1)’);txt5 := SF(dipexit_maxy*1000, ’(F10.1)’);txt6 := SF( slit4_maxy*1000, ’(F10.1)’);txt7 := SF( final_maxy*1000, ’(F10.1)’);WRITE 6 txt1&txt2&txt3&txt4&txt5&txt6&txt7;
ENDPROCEDURE; CalcTransmission--------------------------------------------------------------------
PROCEDURE CalcLeakyBeam;VARIABLE beam_is_in 1;VARIABLE x 1;VARIABLE y 1;VARIABLE x_min 1;VARIABLE x_max 1;VARIABLE y_min 1;VARIABLE y_max 1;VARIABLE r_max 1;VARIABLE N_tot 1;VARIABLE N_out 1;VARIABLE N_in 1;VARIABLE N_q_in 1;VARIABLE trans 1;VARIABLE dummy 80;VARIABLE i 1;VARIABLE k 1;VARIABLE dm 1;VARIABLE colour 1;VARIABLE No_rays 1;VARIABLE x_s 1;VARIABLE th_x_s 1;VARIABLE y_s 1;VARIABLE th_y_s 1;VARIABLE vertex 1;VARIABLE dE_s 1;VARIABLE q_s 1;------------------------------------------------PROCEDURE CheckSize;
IF x<-x_min; LFALSE beam_is_in;ELSEIF x>+x_max; LFALSE beam_is_in;ELSEIF y<-y_min; LFALSE beam_is_in;ELSEIF y>+y_max; LFALSE beam_is_in;ELSEIF SQRT(x^2+y^2)>+r_max; LFALSE beam_is_in;ENDIF;
ENDPROCEDURE; CheckSize
Appendix A. erna.2.3.fox 124
------------------------------------------------WRITE 6’This routine is still unchanged from Detlef’’s septune10 code.’’It’’s a lengthy operation.’’Are you sure (99=yes, <ENTER>=no)?’;tmp1 := ’’;WHILE TYPE(tmp1)#TYPE(1);
READ 5 tmp1;ENDWHILE;
IF tmp1=99;WRITE 6 ’ tracking ’&’ ions ...’;OPENF 15 ’r_in’ ’unknown’;------------------------------------------------------- loop setting the variable MAP_i(i) and dim(i) for map and vacuum chamber size of the i’th element -------------------------------------------------------LOOP i first_element last_element;
UnityMap;ProcessElement i;
ENDLOOP;UnityMap;LOOP i first_element last_element;
ApplyMap_i i;ENDLOOP;SaveMap MAP_dummy;------------------------------------------------------------ loop over the ions stored in Ra(ion No,parameter) ------------------------------------------------------------N_tot := 0;N_out := 0;N_q_in := 0;dm := 3/4 -1;colour := RED;No_rays := 0;k := 1;LOOP q_s 6 1 -1;
WRITE 6 ’q_s = ’&SF(q_s,’(I1)’)&’ ’;LOOP x_s -0.008 +0.008 0.001;
WRITE 6 ’x = ’&SF(x_s,’(F8.4)’)&’ ’;LOOP y_s -0.000 +0.000 0.001;
LOOP th_x_s -0.050 +0.050 0.002;LOOP th_y_s -0.000 +0.000 0.002;
LOOP dE_s 0.34 -0.900 -0.01;
LOOP q_s 6 1 -1;WRITE 6 ’q_s = ’&SF(q_s,’(I1)’)&’ ’;LOOP x_s -0.002 +0.002 0.001;LOOP y_s -0.000 +0.000 0.001;LOOP th_x_s -0.040 +0.040 0.040;LOOP th_y_s -0.040 +0.040 0.040;LOOP dE_s 0.340 -0.100 -0.100;
Ra(k,1) := x_s;Ra(k,2) := th_x_s;Ra(k,3) := y_s;Ra(k,4) := th_y_s;Ra(k,5) := 0.;Ra(k,6) := dE_s;Ra(k,7) := dm;Ra(k,8) := q_s/q -1;Ra(k,9) := colour;N_tot := N_tot + 1;LTRUE beam_is_in;----------------------------- first check of transmission -----------------------------UnityMap;ClearRays;SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)
Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);ApplyMap MAP_dummy;i := last_element;VELGET dim(i) 1 x_min;VELGET dim(i) 2 x_max;VELGET dim(i) 3 y_min;VELGET dim(i) 4 y_max;VELGET dim(i) 5 r_max;VELGET RAY(1) 2 x;VELGET RAY(3) 2 y;CheckSize;IF NOT(beam_is_in);
N_out := N_out+1;ELSEIF 1=1;
-------------------------------- detailed check of transmission --------------------------------i := first_element;UnityMap;ClearRays;SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)
Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);VELGET RAY(1) 2 x;VELGET RAY(3) 2 y;WHILE beam_is_in;
VELGET dim(i) 1 x_min;VELGET dim(i) 2 x_max;VELGET dim(i) 3 y_min;VELGET dim(i) 4 y_max;VELGET dim(i) 5 r_max;
CheckSize;ApplyMap_i i;VELGET RAY(1) 2 x;VELGET RAY(3) 2 y;CheckSize;IF NOT(beam_is_in);
N_out := N_out+1;ENDIF;IF i=last_element;
dummy := SF(k,’(I4)’)&’ ’;dummy := dummy&SF(Ra(k,1),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,2),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,3),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,4),’(F7.5)’)&’ ’;
Appendix A. erna.2.3.fox 125
dummy := dummy&SF(Ra(k,5),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,6),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,7),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,8),’(F7.5)’)&’ ’;dummy := dummy&SF(Ra(k,9),’(I1)’);WRITE 15 dummy;LFALSE beam_is_in;N_q_in := N_q_in + 1;
ENDIF;i := i + 1;
ENDWHILE;-------------------------------- end of detailed check --------------------------------
ENDIF; beam_is_inENDLOOP;
ENDLOOP;ENDLOOP;
ENDLOOP;ENDLOOP;WRITE 6 ’N_q_in = ’&SF(N_q_in,’(I10)’)&’ ’;N_q_in := 0;
ENDLOOP;N_in := N_tot - N_out;trans := N_in/N_tot*100;WRITE 6 ’ total transmitted lost transmission [%]’;dummy := SF(N_tot,’(I12)’)&SF(N_in,’(I12)’);dummy := dummy&SF(N_out,’(I12)’)&SF(trans,’(F17.1)’);WRITE 6 dummy;WRITE 15 ’#’;CLOSEF 15;
ENDIF;ENDPROCEDURE; CalcLeakyBeam
--------------------------------------------------------------------FUNCTION theta_max E_lab;
VARIABLE E_cm 1;VARIABLE x 1;E_cm := E_lab/3; lab->cmx := -1.90988455*E_cm^1+0.57104716*E_cm^2;x := x-0.12022408*E_cm^3+0.00917591*E_cm^4;theta_max := 17.77186648+40.63035411*EXP(x);
ENDFUNCTION; theta_max--------------------------------------------------------------------
FUNCTION dE_max E_lab;VARIABLE E_cm 1;VARIABLE x 1;E_cm := E_lab/3; lab->cmx := -1.92655644*E_cm^1+0.57603659*E_cm^2;x := x-0.12099434*E_cm^3+0.00911112*E_cm^4;dE_max := 3.59379189+8.39111294*EXP(x);
ENDFUNCTION; dE_max********************************************************* INPUT PROCEDURES *********************************************************
PROCEDURE init;VARIABLE default 32;VARIABLE inputline 1;--------- mass, energy, charge state, ... -------------WRITE 6 ’------------------------------------------’;A:=’’;WHILE TYPE(A)#TYPE(1);
WRITE 6 ’ enter ion mass [u] (default is 16.0)’;READ 5 A;IF TYPE(A)#TYPE(1);
WRITE 6 ’ enter a numerical value >0 or press <ENTER> for default!’;ENDIF;
ENDWHILE;IF A=0;
A:=16;ENDIF;W:=’’;WHILE TYPE(W)#TYPE(1);
WRITE 6 ’ enter ion energy [MeV] (default is 2.1)’;READ 5 W;IF TYPE(W)#TYPE(1);
WRITE 6 ’ enter a numerical value >0 or press <ENTER> for default!’;ENDIF;
ENDWHILE;IF W=0;
W:=2.1;ENDIF;default:=1;IF (A>15.5)*(A<16.5); assume oxygen ions
IF W>11.0; these are valid... default:=6;
ELSEIF W>6.3; ... for a He gas stripperdefault:=5;
ELSEIF 1=1;default:=3;
ENDIF;ENDIF;q:=’’;WHILE TYPE(q)#TYPE(1);
WRITE 6 ’ enter ion charge [e] (default is ’&SF(default,’(F3.1)’)&’)’;READ 5 q;IF TYPE(q)#TYPE(1);
WRITE 6 ’ enter a numerical value >0 or press <ENTER> for default!’;ENDIF;
ENDWHILE;IF q=0;
q:=default;ENDIF;
***WRITE 6 ’ enter fringe field mode (0,1,2,3)’;READ 5 fringefield_mode;
***fringefield_mode := FF_MODE2_SYMPLECTIC_SCALING ;
fringefield_mode := FF_MODE0_OFF ;
WRITE 6 ’------------------------------------------’;WRITE 6 ’ A =’&SF(A,’(F7.3)’)&’ u’;WRITE 6 ’ W =’&SF(W,’(F7.3)’)&’ MeV’;WRITE 6 ’ q =’&SF(q,’(F7.3)’)&’ e’;WRITE 6 ’------------------------------------------’;
***WRITE 6 ’ press <ENTER> to continue...’;READ 5 inputline;
Appendix A. erna.2.3.fox 126
***ENDPROCEDURE; init
----------------------------------------------------PROCEDURE InitFields; set initial fields
VARIABLE i 1;incident beamU_PURWF1 := 30E3;U_PURWF2 := 30E3;B_HEdoublet_1 := .045530; qdhe1B_HEdoublet_2 := .042386; qdhe2B_DTLsinglet1 := -.002500; bsing1B_DTLdoublet_1 := .091860; qdch1B_DTLdoublet_2 := .127915; qdch2B_DTLsinglet2 := .051061;B_DTLsinglet2old := .051061;B_defocdoublet_1 := .146391;B_defocdoublet_2 := .178884;separatorB_trip_ex := .161596;B_trip_in := .182550;U_SEPWF1 := 25E3;B_singl1 := .050696;B_SEPdoublet_1 := .121325;B_SEPdoublet_2 := .131364;B_singl2 := .0000;U_SEPWF2 := 60E3;field limitsLIMIT_B_HEdoublet_1 := .5;LIMIT_B_HEdoublet_2 := .5;LIMIT_B_DTLsinglet1 := .5;LIMIT_B_DTLsinglet2 := .28;LIMIT_B_DTLdoublet_1 := .5;LIMIT_B_DTLdoublet_2 := .5;LIMIT_B_defocdoublet_1 := .5;LIMIT_B_defocdoublet_2 := .5;LIMIT_B_trip_ex := .3;LIMIT_B_trip_in := .3;LIMIT_B_singl1 := .28;LIMIT_B_SEPdoublet_1 := .3;LIMIT_B_SEPdoublet_2 := .3;LIMIT_B_singl2 := .2;LIMIT_B_dipole :=1.35;WRITE 6 ’’ ’ initializing, please wait ...’ ’’;UnityMap;LOOP i first_element last_element;
element_start(i) := 0;element_stop(i) := 0;ProcessElement i;
ENDLOOP;ENDPROCEDURE; InitFields
---------------------------------------------------PROCEDURE ReadFields; from file
VARIABLE dummy 80;WRITE 6 ’ enter filename ’;
(format = first 8 rows of outputfile) READ 5 filename;OPENF 15 filename ’old’;READ 15 dummy;READ 15 dummy; U_SEPWF1 := R(dummy, 27, 35);READ 15 dummy; B_SEPWF1 := R(dummy, 27, 35);READ 15 dummy; B_SEPWF1_exp := R(dummy, 27, 35);READ 15 dummy; U_SEPWF2 := R(dummy, 27, 35);READ 15 dummy; B_SEPWF2 := R(dummy, 27, 35);READ 15 dummy; B_SEPWF2_exp := R(dummy, 27, 35);READ 15 dummy; B_singl1 := R(dummy, 27, 35);READ 15 dummy; B_singl2 := R(dummy, 27, 35);READ 15 dummy; B_SEPdoublet_1 := R(dummy, 27, 35);READ 15 dummy; B_SEPdoublet_2 := R(dummy, 27, 35);READ 15 dummy; B_trip_ex := R(dummy, 27, 35);READ 15 dummy; B_trip_in := R(dummy, 27, 35);READ 15 dummy; B_cssm := R(dummy, 27, 35);READ 15 dummy; B_dipole := R(dummy, 27, 35);READ 15 dummy; B_dipole_exp := R(dummy, 27, 35);CLOSEF 15;
ENDPROCEDURE; ReadFields---------------------------------------------------
PROCEDURE ReadRaysFromFile rfname;VARIABLE line 80;VARIABLE k 1;OPENF 15 rfname ’old’;line := ’ ’;k := 1;beam_diameter := 0;beam_divergence := 0;WHILE SS(line,1,1)#’#’;
READ 15 line;IF SS(line,1,1)#’#’;
Ra(k,1) := R(line, 9,15);Ra(k,2) := R(line,17,23);Ra(k,3) := R(line,25,31);Ra(k,4) := R(line,33,39);Ra(k,5) := R(line,41,47);Ra(k,6) := R(line,49,55);Ra(k,7) := R(line,57,63);Ra(k,8) := R(line,65,71);Ra(k,9) := R(line,73,73);N_ray_max := k;
WRITE 6 ’***’&SF(k, ’(I5)’)&’ dK: ’&SF(Ra(k,6), ’(F7.4)’);IF ABS(Ra(k,1))>beam_diameter;
beam_diameter:=ABS(Ra(k,1));ENDIF;IF ABS(Ra(k,3))>beam_diameter;
beam_diameter:=ABS(Ra(k,3));ENDIF;IF ABS(Ra(k,2))>beam_divergence;
beam_divergence:=ABS(Ra(k,2));ENDIF;IF ABS(Ra(k,4))>beam_divergence;
beam_divergence:=ABS(Ra(k,4));ENDIF;k := k+1;
ENDIF;ENDWHILE;beam_diameter := 2*beam_diameter;
Appendix A. erna.2.3.fox 127
CLOSEF 15;WRITE 6 ’*** I read’&SF(N_ray_max,’(I7)’)&’ rays from file;’;WRITE 6 ’*** beam diameter is’&SF(beam_diameter*1000, ’(F5.1)’)&’mm’;WRITE 6 ’*** and divergence is’&SF(beam_divergence*1000, ’(F5.1)’)&’mrad’;
ENDPROCEDURE; ReadRaysFromFile---------------------------------------------------
PROCEDURE GetFilenameAndReadRays;WRITE 6 ’enter name of input file’’(CAUTION: program crashes if file does not exist or is misspelled!) :’;READ 5 raysfile;OPENF 15 raysfile ’old’;ReadRaysFromFile raysfile;
ENDPROCEDURE; GetFilenameAndReadRays---------------------------------------------------
FUNCTION GAUSS sigma x;GAUSS := 1/SQRT(2*PI)/sigma*EXP(-x^2/2/sigma^2);
ENDFUNCTION; GAUSS---------------------------------------------------
PROCEDURE CreateGaussianBeam raydistributionmode colorcode;VARIABLE i 1;VARIABLE j 1;VARIABLE FWHM 1;VARIABLE R_0 1;VARIABLE R_0_2 1;VARIABLE R_0_3 1;VARIABLE theta_0 1;VARIABLE theta_0_2 1;VARIABLE theta_0_3 1;VARIABLE N_ray 1;VARIABLE N_ray_fac 1;VARIABLE color 1;VARIABLE prob 1;VARIABLE phi 1;VARIABLE step_r 1;VARIABLE step_phi 1;VARIABLE r_rel 1;VARIABLE r 1;VARIABLE max 1;VARIABLE sigma 1;VARIABLE theta_x 1 9;VARIABLE theta_y 1 9;VARIABLE mass2 1;VARIABLE mass3 1;VARIABLE energy2 1;VARIABLE energy3 1;VARIABLE chargestate2 1;VARIABLE chargestate3 1;VARIABLE beamselect 1;VARIABLE abundance2 1;VARIABLE abundance3 1;VARIABLE abundance2_3 1;VARIABLE txt1 80;----------------------theta_x(1) := -1; theta_y(1) := 0;theta_x(2) := -1/SQRT(2); theta_y(2) := -1/SQRT(2);theta_x(3) := -1/SQRT(2); theta_y(3) := 1/SQRT(2);theta_x(4) := 0; theta_y(4) := -1;theta_x(5) := 0; theta_y(5) := 0;theta_x(6) := 0; theta_y(6) := 1;theta_x(7) := 1/SQRT(2); theta_y(7) := -1/SQRT(2);theta_x(8) := 1/SQRT(2); theta_y(8) := 1/SQRT(2);theta_x(9) := 1; theta_y(9) := 0;----------------------R_0 := 0.0020;theta_0 := 0.0060;WRITE 6 ’ enter beam diameter [mm]’;READ 5 FWHM;IF FWHM=0;
FWHM := 0.001;ENDIF;FWHM := FWHM/1000;sigma := FWHM/(2*SQRT(2*LOG(2)));R_0 := FWHM/2;beam_diameter := R_0*2;WRITE 6 ’ enter divergence (maximal half angle) [mrad]’;IF (A>15.5)*(A<16.5); assume oxygen ions
theta_0 := theta_max(W);txt1:=SF(theta_0,’(F4.1)’)&’mrad’;WRITE 6 ’(hint for an oxygen pilot beam:’
’ taking into account the reference energy and NO straggling’’ in the gastarget you would need at most +-’&txt1&’)’;
ENDIF;READ 5 theta_0;theta_0 := theta_0/1000;beam_divergence := theta_0;IF (colorcode=RDCC_TWOBEAMS)+(colorcode=RDCC_THREEBEAMS);
WRITE 6 ’ enter diameter of second beam [mm]’;READ 5 R_0_2;R_0_2 := R_0_2/2/1000;WRITE 6 ’ enter divergence of second beam [mrad]’;READ 5 theta_0_2;theta_0_2 := theta_0_2/1000;WRITE 6 ’ enter mass of second beam [u]’;READ 5 mass2;txt1 := ’ enter energy of second beam [MeV]’;WRITE 6 txt1&’ (maybe ’&SF((1-dE_max(W)/100)*W, ’(F6.2)’)&’?)’;READ 5 energy2;WRITE 6 ’ enter charge state of second beam [e]’;READ 5 chargestate2;WRITE 6 ’ enter relative abundance (0-100) [%]’;READ 5 abundance2;
ENDIF;IF colorcode=RDCC_THREEBEAMS;
WRITE 6 ’ enter diameter of third beam [mm]’;READ 5 R_0_3;R_0_3 := R_0_3/2/1000;WRITE 6 ’ enter divergence of third beam [mrad]’;READ 5 theta_0_3;theta_0_3 := theta_0_3/1000;WRITE 6 ’ enter mass of third beam [u]’;READ 5 mass3;txt1 := ’ enter energy of second beam [MeV]’;WRITE 6 txt1&’ (maybe ’&SF((1+dE_max(W)/100)*W, ’(F6.2)’)&’?)’;READ 5 energy3;
Appendix A. erna.2.3.fox 128
WRITE 6 ’ enter charge state of third beam [e]’;READ 5 chargestate3;txt1 := ’ enter relative abundance (0-’;WRITE 6 txt1&SF(100-abundance2, ’(I3)’)&’) [%]’;READ 5 abundance3;abundance2_3 := abundance2+abundance3;
ENDIF;IF raydistributionmode=RDM_OUTERRAYS;
LOOP i 1 16;LOOP j 1 8;
Ra(i, j) := 0;ENDLOOP;
ENDLOOP;Ra(01, 3) := R_0; Ra(01, 2) := theta_0; Ra(01, 9) := BLUE;Ra(02, 3) := R_0; Ra(02, 2) := -theta_0; Ra(02, 9) := BLUE;Ra(03, 3) := R_0; Ra(03, 4) := theta_0; Ra(03, 9) := BLUE;Ra(04, 3) := R_0; Ra(04, 4) := -theta_0; Ra(04, 9) := BLUE;Ra(05, 1) := R_0; Ra(05, 2) := theta_0; Ra(05, 9) := RED;Ra(06, 1) := R_0; Ra(06, 2) := -theta_0; Ra(06, 9) := RED;Ra(07, 1) := R_0; Ra(07, 4) := theta_0; Ra(07, 9) := RED;Ra(08, 1) := R_0; Ra(08, 4) := -theta_0; Ra(08, 9) := RED;Ra(09, 3) := -R_0; Ra(09, 2) := theta_0; Ra(09, 9) := YELLOW;Ra(10, 3) := -R_0; Ra(10, 2) := -theta_0; Ra(10, 9) := YELLOW;Ra(11, 3) := -R_0; Ra(11, 4) := theta_0; Ra(11, 9) := YELLOW;Ra(12, 3) := -R_0; Ra(12, 4) := -theta_0; Ra(12, 9) := YELLOW;Ra(13, 1) := -R_0; Ra(13, 2) := theta_0; Ra(13, 9) := GREEN;Ra(14, 1) := -R_0; Ra(14, 2) := -theta_0; Ra(14, 9) := GREEN;Ra(15, 1) := -R_0; Ra(15, 4) := theta_0; Ra(15, 9) := GREEN;Ra(16, 1) := -R_0; Ra(16, 4) := -theta_0; Ra(16, 9) := GREEN;N_ray_max := 16;
ELSEIF 1=1;sigma := 0.42466090014; R_0 = half beam diameter = .5*FWHM
-> sigma = R_0/(2*sqrt(2*ln(2)))=0.4246609*R_0***** we increase sigma (simulating a broader beam) to get ********** a finite intensity probability even at R_0 *****sigma := .75;****************************************************************txt1:= ’I will create a Gaussian beam with diameter’;txt1:=txt1&SF(2000*R_0, ’(F7.2)’)&’mm’;WRITE 6 txt1;txt1:= ’and half of the central intensity at the circle radius at’;txt1:=txt1&SF(1000*R_0, ’(F7.2)’)&’mm.’;WRITE 6 txt1;WRITE 6 ’enter number of rays to create (500<n<150000):’;Read 5 N_ray_max;step_r := INT(LOG(N_ray_max)/LOG(10))^2;step_r := 1/step_r;N_ray:=0;LOOP r_rel 0 1 step_r;
prob := GAUSS(sigma, r_rel*R_0);step_phi := 2*PI/INT(prob);IF step_phi>2*PI/4;
step_phi := 2*PI/4; larger steps make no senseENDIF;N_ray := N_ray+9*(2*PI/step_phi);
ENDLOOP;N_ray_fac := N_ray_max/N_ray;i := 0;LOOP r_rel 0 1 step_r;
prob := GAUSS(sigma, r_rel*R_0);step_phi := 2*PI/INT(prob*N_ray_fac);IF step_phi>2*PI/4;
step_phi := 2*PI/4; larger steps make no senseENDIF;phi := 0;WHILE phi<1.9999999*PI;
LOOP j 1 9;i := i + 1;Ra(i,5) := 0;Ra(i,6) := 0;Ra(i,7) := 0;Ra(i,8) := 0;IF (colorcode=RDCC_TWOBEAMS)+(colorcode=RDCC_THREEBEAMS);
RERAN beamselect;beamselect := (beamselect/2+.5)*100;IF beamselect<abundance2;
Ra(i,1) := r_rel*R_0_2*cos(phi); second beam Ra(i,3) := r_rel*R_0_2*sin(phi); diameterRa(i,6) := 0.5*(W-energy2)/energy2; energy Ra(i,7) := 0.5*(A-mass2)/mass2; mass Ra(i,8) := 0.5*(q-chargestate2)/chargestate2; charge
ELSEIF (colorcode=RDCC_THREEBEAMS)*(beamselect<abundance2_3);Ra(i,1) := r_rel*R_0_3*cos(phi); third beam Ra(i,3) := r_rel*R_0_3*sin(phi); diameterRa(i,6) := 0.5*(W-energy3)/energy3; energy Ra(i,7) := 0.5*(A-mass3)/mass3; mass Ra(i,8) := 0.5*(q-chargestate3)/chargestate3; charge
ELSEIF 1=1;Ra(i,1) := r_rel*R_0*cos(phi); diameter of first beam Ra(i,3) := r_rel*R_0*sin(phi); other params stay unchanged
ENDIF;ELSEIF 1=1;
Ra(i,1) := r_rel*R_0*cos(phi); set diameter of single beamRa(i,3) := r_rel*R_0*sin(phi);
ENDIF;IF raydistributionmode=RDM_ALLRAYS;
RERAN r; -1 < r < 1 IF beamselect<abundance2; cf. some lines above
r := r * theta_0_2; -theta_0_2 < r < theta_0_2 Ra(i,2) := r;max := SQRT(SQR(theta_0_2)-SQR(Ra(i,2)));RERAN r; -1 < r < 1 r := r * max; -max < r < max Ra(i,4) := r;
ELSEIF beamselect<abundance2_3; cf. some lines abover := r * theta_0_3; -theta_0_3 < r < theta_0_3 Ra(i,2) := r;max := SQRT(SQR(theta_0_3)-SQR(Ra(i,2)));RERAN r; -1 < r < 1 r := r * max; -max < r < max Ra(i,4) := r;
ELSEIF 1=1;
Appendix A. erna.2.3.fox 129
r := r * theta_0; -theta_0 < r < theta_0 Ra(i,2) := r;max := SQRT(SQR(theta_0)-SQR(Ra(i,2)));RERAN r; -1 < r < 1 r := r * max; -max < r < max Ra(i,4) := r;
ENDIF;ELSEIF raydistributionmode=RDM_SELECTEDRAYS;
Ra(i,2) := theta_0*theta_x(j);Ra(i,4) := theta_0*theta_y(j);
ELSEIF 1=1;Ra(i,2) := 0;Ra(i,4) := 0;
ENDIF;IF colorcode=RDCC_RANDOM;
*** for random colors use the following 2 lines: ***RERAN color; -1 < color < 1 color := INT(2.5*color+3.5); 0 < color < 6
ELSEIF colorcode=RDCC_RED;*** for monochromatic (RED) rays, use following line: ***color := RED;
ELSEIF colorcode=RDCC_POSITIONDEPENDING;*** for starting-position dependent colors use this: ***IF r_rel<.2; color := BLACK;ELSEIF r_rel<.4; color := BLUE;ELSEIF r_rel<.6; color := RED;ELSEIF r_rel<.8; color := YELLOW;ELSEIF 1=1; color := GREEN;ENDIF;
ELSEIF colorcode=RDCC_TWOBEAMS;IF beamselect<abundance2;
color:=BLUE;ELSEIF 1=1;
color:=RED;ENDIF;
ELSEIF colorcode=RDCC_THREEBEAMS;IF beamselect<abundance2;
color:=BLUE;ELSEIF beamselect<abundance2_3;
color:=GREEN;ELSEIF 1=1;
color:=RED;ENDIF;
ELSEIF 1=1;color := BLACK;
ENDIF;Ra(i,9) := color;
ENDLOOP;phi := phi + step_phi;
ENDWHILE;ENDLOOP;N_ray_max := i;
ENDIF;WRITE 6 ’I have created’&SF(N_ray_max, ’(I7)’)&’ rays.’;
ENDPROCEDURE; CreateGaussianBeam---------------------------------------------------
PROCEDURE CreateColorCodedBeam;VARIABLE i 1;VARIABLE j 1;VARIABLE R_0 1;VARIABLE theta_0 1;VARIABLE color 1;VARIABLE prob 1;VARIABLE phi 1;VARIABLE step_phi 1;VARIABLE r_rel 1;VARIABLE sigma 1;VARIABLE theta_x 1 9;VARIABLE theta_y 1 9;VARIABLE choice 1;VARIABLE txt 80;txt := ’ xmin/xmax/ymin/ymax with different colors ’;WRITE 6 txt&’ : 1’;txt := ’ gaussian profile with colors BLACK-BLUE-RED-YELLOW-GREEN’;WRITE 6 txt&’ from center : 2’;txt := ’ random-colored gaussian profile beam ’;WRITE 6 txt&’ : 3’;txt := ’ additional beam with different diameter/divergence/mass/’;WRITE 6 txt&’energy/charge : 4’;txt := ’ Daniel mode 1 (i.e. third beam!) ’;WRITE 6 txt&’ : 5’;txt := ’ Daniel mode 2 (i.e. arbitrary number of different beams)’;WRITE 6 txt&’ : 6’;choice := ’ ’;WHILE TYPE(choice)#TYPE(1);
READ 5 choice;ENDWHILE;IF choice=1;
CreateGaussianBeam RDM_OUTERRAYS RDCC_OUTERRAYCOLORING;ELSEIF choice=2;
CreateGaussianBeam RDM_ALLRAYS RDCC_POSITIONDEPENDING;ELSEIF choice=3;
CreateGaussianBeam RDM_ALLRAYS RDCC_RANDOM;ELSEIF choice=4;
CreateGaussianBeam RDM_ALLRAYS RDCC_TWOBEAMS;ELSEIF choice=5;
CreateGaussianBeam RDM_ALLRAYS RDCC_THREEBEAMS;ELSEIF choice=6;
WRITE 6 ’’’Come on, how many special Daniel modes do you expect???’’Let’’s wait until he REALLY needs this mode!’’’;
ENDIF;ENDPROCEDURE; CreateColorCodedBeam
---------------------------------------------------PROCEDURE DefineRays;
VARIABLE choice 1;VARIABLE i1 1;VARIABLE j1 1;VARIABLE k1 1;VARIABLE l1 1;VARIABLE m1 1;VARIABLE w1 1;VARIABLE r1 1;VARIABLE f1 1;VARIABLE i2 1;VARIABLE j2 1;VARIABLE k2 1;VARIABLE l2 1;
Appendix A. erna.2.3.fox 130
VARIABLE m2 1;VARIABLE r2 1;VARIABLE f2 1;VARIABLE w2 1;VARIABLE i3 1;VARIABLE j3 1;VARIABLE k3 1;VARIABLE l3 1;VARIABLE m3 1;VARIABLE r3 1;VARIABLE f3 1;VARIABLE w3 1;VARIABLE n 1;VARIABLE E_i 1;VARIABLE txt 80;WRITE 6 ’ Read ray parameters from input file : 1’;txt := ’ Gaussian beam (probability weighted, ’;WRITE 6 txt&’e.g. from accelerator) : 2’;txt := ’ Gaussian beam selected ray bundles ’;WRITE 6 txt&’ (suitable for analysis) : 3’;WRITE 6 ’ Color-coded beam (strange, possible error) : 4’;WRITE 6 ’ Single central ray : 5’;WRITE 6 ’ xy beam with same divergence : 6’;WRITE 6 ’ Cone beam : 7’;WRITE 6 ’ Three cone beams (adv: choose E2<E1<E3 or E3<E1<E2): 8’;WRITE 6 ’ Return to main menu : 0’;choice := ReadNumVal(0);IF choice=1;
GetFilenameAndReadRays;ELSEIF choice=2;
CreateGaussianBeam RDM_ALLRAYS RDCC_RED;ELSEIF choice=3;
CreateGaussianBeam RDM_SELECTEDRAYS RDCC_RED;ELSEIF choice=4;
CreateColorCodedBeam;ELSEIF choice=5;
LOOP tmp1 1 8;Ra(1, tmp1) := 0;
ENDLOOP;Ra(1, 9) := RED;N_ray_max := 1;beam_diameter := 0;beam_divergence := 0;
ELSEIF choice=6;WRITE 6 ’ Enter divergence [mrad]’;READ 5 i1;IF i1>18;
WRITE 6 ’(This value is too big, you may have problems!)’;ENDIF;i1 := i1/1000;beam_divergence := i1;WRITE 6 ’ Enter beam diameter [mm]’;READ 5 j1;beam_diameter := j1/(2*1000);WRITE 6 ’ Enter number of rays (< 150000)’;READ 5 k1;N_ray_max := k1;l1 := 1;m1 := -beam_diameter;
x raysWHILE (l1<N_ray_max/4);
Ra(l1, 9) := RED;Ra(l1, 1) := m1;Ra(l1, 3) := 0;Ra(l1, 2) := beam_divergence;Ra(l1, 4) := 0;l1 := l1+1;m1 := m1+4*beam_diameter/N_ray_max;
ENDWHILE;m1 := beam_diameter;WHILE (l1<N_ray_max/2);
Ra(l1, 9) := RED;Ra(l1, 1) := m1;Ra(l1, 3) := 0;Ra(l1, 2) := -beam_divergence;Ra(l1, 4) := 0;l1 := l1+1;m1 := m1-4*beam_diameter/N_ray_max;
ENDWHILE;y raysm1 := -beam_diameter;WHILE (l1<(3*N_ray_max/4));
Ra(l1, 9) := BLUE;Ra(l1, 1) := 0;Ra(l1, 3) := m1;Ra(l1, 2) := 0;Ra(l1, 4) := beam_divergence;l1 := l1+1;m1 := m1+4*beam_diameter/N_ray_max;
ENDWHILE;m1 := beam_diameter;WHILE (l1<N_ray_max);
Ra(l1, 9) := BLUE;Ra(l1, 1) := 0;Ra(l1, 3) := m1;Ra(l1, 2) := 0;Ra(l1, 4) := -beam_divergence;l1 := l1+1;m1 := m1-4*beam_diameter/N_ray_max;
ENDWHILE;ELSEIF choice=7;
WRITE 6 ’ Enter divergence [mrad]’;READ 5 i1;IF i1>18;
WRITE 6 ’(This value is too big, you may have problems!)’;ENDIF;beam_divergence := i1/1000;WRITE 6 ’ Enter beam diameter [mm]’;READ 5 r1;beam_diameter := r1/(2*1000);WRITE 6 ’ Enter number of rays (<900)’;READ 5 m1;N_ray_max := m1;l1 := 1;k1 := 1;
Appendix A. erna.2.3.fox 131
j1 := 0;WHILE (j1<beam_diameter);f1 := 0;k1 := 0;
WHILE (k1<N_ray_max/4);Ra(l1, 9) := RED;Ra(l1, 1) := j1*cos(f1);Ra(l1, 3) := j1*sin(f1);Ra(l1, 2) := beam_divergence*cos(f1);Ra(l1, 4) := beam_divergence*sin(f1);l1 := l1+1;k1 := k1+1;f1 := f1+2*4*PI/N_ray_max;
ENDWHILE;j1 := j1+beam_diameter/4;
ENDWHILE;ELSEIF choice=8;beam 1WRITE 6 ’ Enter energy beam1 [MeV]’;READ 5 w1;W := w1;WRITE 6 ’ Enter divergence1 [mrad]’;READ 5 i1;IF i1>18;
WRITE 6 ’(This value is too big, you may have problems!)’;ENDIF;beam_divergence := i1/1000;WRITE 6 ’ Enter beam1 diameter [mm]’;READ 5 r1;beam_diameter := r1/(2*1000);WRITE 6 ’ Enter number of rays beam1 (<300)’;READ 5 m1;N_ray_max := m1;l1 := 1;k1 := 1;j1 := 0;WHILE (j1<beam_diameter);f1 := 0;k1 := 0;
WHILE (k1<m1/4);Ra(l1, 9) := RED;Ra(l1, 1) := j1*cos(f1);Ra(l1, 3) := j1*sin(f1);Ra(l1, 2) := beam_divergence*cos(f1);Ra(l1, 4) := beam_divergence*sin(f1);Ra(l1, 6) := 0;l1 := l1+1;k1 := k1+1;f1 := f1+2*4*PI/m1;
ENDWHILE;j1 := j1+beam_diameter/4;
ENDWHILE;beam 2l2 := l1;WRITE 6 ’ Enter energy beam2 [MeV]’;READ 5 w2;WRITE 6 ’ Enter divergence beam2 [mrad]’;READ 5 i2;IF i2>18;
WRITE 6 ’(This value is too big, you may have problems!)’;ENDIF;i2 := i2/1000;WRITE 6 ’ Enter beam2 diameter [mm]’;READ 5 r2;r2 := r2/(2*1000);WRITE 6 ’ Enter number of rays beam2 (<300)’;READ 5 m2;N_ray_max := m2+m1;k2 := 1;j2 := 0;WHILE (j2<r2);f2 := 0;k2 := 0;
WHILE (k2<m2/4);Ra(l2, 9) := BLUE;Ra(l2, 1) := j2*cos(f2);Ra(l2, 3) := j2*sin(f2);Ra(l2, 2) := i2*cos(f2);Ra(l2, 4) := i2*sin(f2);Ra(l2, 6) := 0.5*(w2-W)/W;l2 := l2+1;k2 := k2+1;f2 := f2+2*4*PI/m2;
ENDWHILE;j2 := j2+r2/4;
ENDWHILE;beam 3l3 := l2;WRITE 6 ’ Enter energy beam3 [MeV]’;READ 5 w3;WRITE 6 ’ Enter divergence beam3 [mrad]’;READ 5 i3;IF i3>18;
WRITE 6 ’(This value is too big, you may have problems!)’;ENDIF;i3 := i3/1000;WRITE 6 ’ Enter beam3 diameter [mm]’;READ 5 r3;r3 := r3/(2*1000);WRITE 6 ’ Enter number of rays beam3 (<300)’;READ 5 m3;N_ray_max := m3+m2+m1;k3 := 1;j3 := 0;WHILE (j3<r3);f3 := 0;k3 := 0;
WHILE (k3<m3/4);Ra(l3, 9) := GREEN;Ra(l3, 1) := j3*cos(f3);Ra(l3, 3) := j3*sin(f3);Ra(l3, 2) := i3*cos(f3);Ra(l3, 4) := i3*sin(f3);Ra(l3, 6) := 0.5*(w3-W)/W;
Appendix A. erna.2.3.fox 132
l3 := l3+1;k3 := k3+1;f3 := f3+2*4*PI/m3;
ENDWHILE;j3 := j3+r3/4;
ENDWHILE;WRITE 6 ’ RED = beam 1; BLUE = beam 2; GREEN = beam 3.’;
ENDIF;ENDPROCEDURE; DefineRays
---------------------------------------------------------------PROCEDURE ChangeDimensions;
VARIABLE txtval 80;VARIABLE numval 1;VARIABLE default 1;numval := DL_FOCTRIPLET_GASTARGET + DL_gastarget_CSSM;default := 100*DL_gastarget_CSSM;txtval := ’enter drift length gastarget->CSSM ’;WRITE 6 txtval&’(default is’&SF(default, ’(F6.1)’)&’cm):’;WHILE TYPE(txtval)#TYPE(1);
READ 5 txtval;IF TYPE(txtval)#TYPE(1);
WRITE 6 ’ enter a numerical value or press <ENTER> for default!’;ENDIF;
ENDWHILE;IF txtval#0;
DL_gastarget_CSSM := txtval/100;DL_FOCTRIPLET_GASTARGET := numval - DL_gastarget_CSSM;txtval := ’implicitly changed drift length foc.triplet->gastarget to’;WRITE 6 txtval&SF(DL_FOCTRIPLET_GASTARGET*100, ’(F6.1)’)&’cm’;
ENDIF;ENDPROCEDURE; ChangeDimensions
---------------------------------------------------------------PROCEDURE SetDeviations;
VARIABLE d_var 1;VARIABLE var_No 1;VARIABLE k 1;VARIABLE p 1;VARIABLE txt1 80;WRITE 6 ’enter variable to be changed’;WRITE 6’1 = x | 2 = xp | 3 = y | 4 = yp <-- these act cumulatively!’;WRITE 6’5 = time | 6 = energy | 7 = mass | 8 = charge’;READ 5 var_No;IF var_No=1;
WRITE 6 ’ enter x [mm]’;ELSEIF var_No=2;
WRITE 6 ’ enter xp [mrad]’;IF (A>15.5)*(A<16.5); assume oxygen ions
d_var := theta_max(W);txt1 := SF(d_var, ’(F4.1)’)&’mrad’;WRITE 6 ’(hint for an oxygen pilot beam:’
’ taking into account the reference energy and NO straggling’’ in the gastarget you would need at most +-’&txt1&’)’;
ENDIF;ELSEIF var_No=3;
WRITE 6 ’ enter y [mm]’;ELSEIF var_No=4;
WRITE 6 ’ enter yp [mrad]’;IF (A>15.5)*(A<16.5); assume oxygen ions
d_var := theta_max(W);txt1 := SF(d_var, ’(F4.1)’)&’mrad’;WRITE 6 ’(hint for an oxygen pilot beam:’
’ taking into account the reference energy and NO straggling’’ in the gastarget you would need at most +-’&txt1&’)’;
ENDIF;ELSEIF var_No=5;
WRITE 6 ’***not yet implemented! Press <ENTER> to continue...’;ELSEIF var_No=6;
WRITE 6 ’ enter absolute value [MeV] or relative change [%]’’ (examples: 6.2 means 6.2MeV’’ -5.5% means 5.5% less than the reference energy)’;
IF (A>15.5)*(A<16.5); assume oxygen ionsd_var := dE_max(W);txt1 := SF(d_var, ’(F4.1)’)&’%’;WRITE 6 ’(hint for an oxygen pilot beam:’
’ taking into account the reference energy and NO straggling’’ in the gastarget you would need at most +-’&txt1&’,’’ i.e.’&SF((1-d_var/100)*W, ’(F6.2)’)&’ --’&SF(
(1+d_var/100)*W, ’(F6.2)’)&’ [MeV])’;ENDIF;
ELSEIF var_No=7;WRITE 6 ’ enter new mass [u] <- NEW! give absolute value...’;
ELSEIF var_No=8;WRITE 6 ’ enter new charge state [e] <- NEW! give absolute value...’;
ELSEIF 1=1;var_No := 9;
ENDIF;IF var_No#6;
READ 5 d_var;ELSEIF var_No=6;
txt1:=’’;READ 5 txt1;IF TYPE(txt1)=TYPE(’x’);
p := 0;LOOP k 1 LENGTH(txt1);
IF SS(txt1, k, k)=’%’;p := k;
ENDIF;ENDLOOP;IF p>1;
d_var := R(txt1, 1, p-1)/100;WRITE 6 ’’
’beam energy changed to’&SF((1+d_var)*W, ’(F6.2)’)&’MeV’’’;
ELSEIF 1=1;var_No := 9;
ENDIF;ELSEIF TYPE(txt1)=TYPE(1);
IF txt1>0;d_var := 0.5*(txt1-W)/W;WRITE 6 ’’
’beam energy changed to’&SF((1+d_var)*W, ’(F6.2)’)&’MeV’’’;
ELSEIF 1=1;var_No := 9;
Appendix A. erna.2.3.fox 133
ENDIF;ELSEIF 1=1;
var_No := 9;ENDIF;
ENDIF;IF var_No=9;
WRITE 6 ’’ ’input error, nothing changed...’ ’’;ELSEIF var_No<5;
d_var := d_var / 1000;LOOP k 1 N_ray_max;
Ra(k,var_No) := Ra(k,var_No) + d_var;k := k + 1;
ENDLOOP;ELSEIF var_No>4;
IF var_No=7;d_var := 0.5*(d_var-A)/A;
ENDIF;IF var_No=8;
d_var := 0.5*(d_var-q)/q;ENDIF;LOOP k 1 N_ray_max;
Ra(k,var_No) := d_var;k := k + 1;
ENDLOOP;ENDIF;
ENDPROCEDURE; SetDeviations---------------------------------------------------------------
PROCEDURE E_scan;VARIABLE i 1;VARIABLE k 1;VARIABLE dE 1;VARIABLE dEmax 1;VARIABLE dEsteps 1;VARIABLE txt1 80;VARIABLE full_transm_min 1;VARIABLE full_transm_max 1;---------------------------------------------------------PROCEDURE TRANS dE;
VARIABLE beam_is_in 1;VARIABLE x 1;VARIABLE y 1;VARIABLE x_min 1;VARIABLE x_max 1;VARIABLE y_min 1;VARIABLE y_max 1;VARIABLE r_max 1;VARIABLE N_tot 1;VARIABLE N_out 1;VARIABLE N_in 1;VARIABLE trans 1;VARIABLE dummy 80;VARIABLE i 1;VARIABLE k 1;------------------------------------------------PROCEDURE CheckSize;
IF x<-x_min; LFALSE beam_is_in;ELSEIF x>+x_max; LFALSE beam_is_in;ELSEIF y<-y_min; LFALSE beam_is_in;ELSEIF y>+y_max; LFALSE beam_is_in;ELSEIF SQRT(x^2+y^2)>+r_max; LFALSE beam_is_in;ENDIF;
ENDPROCEDURE; CheckSize------------------------------------------------N_tot := 0;N_out := 0;LOOP k 1 N_ray_max;
UnityMap;ClearRays;SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4)
Ra(k,5) Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);VELGET RAY(1) 2 x;VELGET RAY(3) 2 y;N_tot := N_tot + 1;LTRUE beam_is_in;i := first_element;WHILE beam_is_in;
VELGET dim(i) 1 x_min;VELGET dim(i) 2 x_max;VELGET dim(i) 3 y_min;VELGET dim(i) 4 y_max;VELGET dim(i) 5 r_max;CheckSize;ApplyMap_i i;VELGET RAY(1) 2 x;VELGET RAY(3) 2 y;CheckSize;IF NOT(beam_is_in);
N_out := N_out+1;i := last_element;
ENDIF;IF i=last_element;
LFALSE beam_is_in;ENDIF;i := i + 1;
ENDWHILE;ENDLOOP;N_in := N_tot - N_out;trans := N_in/N_tot*100;IF N_out=0;
IF full_transm_min=-100;full_transm_min := dE;
ELSEIF 1=1;full_transm_max := dE;
ENDIF;ENDIF;dummy := SF(dE,’(F7.2)’)&SF((1+dE/100)*W,’(F8.2)’)&SF(trans,’(F9.1)’);dummy := dummy&SF(N_tot,’(I11)’)&SF(N_in,’(I8)’);dummy := dummy&SF(N_out,’(I7)’);WRITE 6 dummy;WRITE 10 dummy;
ENDPROCEDURE; TRANS---------------------------------------------------------------full_transm_min := -100;full_transm_max := -100;tmp1:=99;IF (beam_diameter<0)+(beam_divergence<0);
WRITE 6 ’***ERROR: you have not defined a beam yet!’;tmp1:=0;
Appendix A. erna.2.3.fox 134
ENDIF;IF (N_ray_max>99)*(tmp1=99);
WRITE 6’***ATTENTION: You have defined’&SF(N_ray_max, ’(I5)’)&’ rays.’’ The calculation will take a while ...’’ Are you sure (99=yes, <ENTER>=no)?’;tmp1 := ’’;WHILE TYPE(tmp1)#TYPE(1);
READ 5 tmp1;ENDWHILE;
ENDIF;IF (beam_divergence>.005)*(tmp1=99);
WRITE 6’***ATTENTION: beam diameter is’&SF(beam_diameter*1000, ’(F5.1)’)&’mm’’ with a divergence of’&SF(beam_divergence*1000,
’(F5.1)’)&’mrad;’’ Are you sure (99=yes, <ENTER>=no)?’;tmp1 := ’’;WHILE TYPE(tmp1)#TYPE(1);
READ 5 tmp1;ENDWHILE;
ENDIF;IF tmp1=99;
LOOP i first_element last_element;UnityMap;ProcessElement i;
ENDLOOP;OPENF 10 SESSIONPREFIX(1)&’energy_transm.dat’ ’unknown’;dEmax := dE_max(W);IF (A>15.5)*(A<16.5); assume oxygen ions
txt1 := SF(dEmax, ’(F4.1)’)&’% (i.e.’&SF(W*(1-dEmax/100), ’(F6.2)’);txt1 := txt1&’ to’&SF(W*(1+dEmax/100), ’(F6.2)’)&’MeV)’;WRITE 6’note: taking into account the reference energy and NO straggling’’ in the gastarget you would need an energy variation of’’ at most +/-’&txt1;
ENDIF;WRITE 6’’’dE/E/% Elab/MeV transm./% Ntot Nin Nout’;dEmax := 1.5*dE_max(W);dEmax := INT(dEmax+1);IF dEmax>6;
dEsteps := 1;ELSEIF 1=1;
dEsteps :=.5;ENDIF;LOOP dE -dEmax +dEmax dEsteps;
LOOP k 1 N_ray_max;Ra(k,6) := dE/100;
ENDLOOP;TRANS dE;
ENDLOOP;CLOSEF 10;WRITE 6 ’*** I wrote this transmission data to file’
’*** ’&SESSIONPREFIX(1)&’energy_transm.dat’’’;
session_number := session_number+1;IF (full_transm_min>-dE_max(W))+(full_transm_max<dE_max(W));
WRITE 6 ’ATTENTION: it seems that you do NOT have’’---------- the full needed energy acceptance!’’’;
ELSEIF 1=1;WRITE 6 ’Congratulations! It seems that you have’
’the full needed energy acceptance.’’’;
ENDIF;ENDIF;
ENDPROCEDURE; E_scan-----------------------------------------------------------------------
PROCEDURE SetFields;VARIABLE line 2;VARIABLE i 1;WRITE 6 ’ which fields? focussing triplet ft’;WRITE 6 ’ triplet t’;WRITE 6 ’ separation WF1 w1’;WRITE 6 ’ singlet 1 s1’;WRITE 6 ’ doublet do’;WRITE 6 ’ singlet 2 s2’;WRITE 6 ’ separation WF2 w2’;WRITE 6 ’--------------------------------------’;WRITE 6 ’BACK TO MENU x ’;WHILE TYPE(line)#TYPE(’ ’);
READ 5 line;ENDWHILE;i:=0;IF SS(line,1,2)=’ft’;
WRITE 6 ’enter B_foctrip_ex [mT], now is ’&SF(B_foctrip_ex*1000,’(F7.1)’);B_foctrip_ex := ReadNumVal(B_foctrip_ex*1000)/1000;WRITE 6 ’enter B_foctrip_in [mT], now is ’&SF(B_foctrip_in*1000,’(F7.1)’);B_trip_in := ReadNumVal(B_trip_in*1000)/1000;ProcessElement EL_FOCTRIPLET;
ELSEIF SS(line,1,2)=’t’;WRITE 6 ’enter B_trip_ex [mT], now is ’&SF(B_trip_ex*1000, ’(F7.1)’);B_trip_ex := ReadNumVal(B_trip_ex*1000)/1000;WRITE 6 ’enter B_trip_in [mT], now is ’&SF(B_trip_in*1000, ’(F7.1)’);B_trip_in := ReadNumVal(B_trip_in*1000)/1000;ProcessElement EL_TRIPLET;
ELSEIF SS(line,1,2)=’s1’;WRITE 6 ’enter B_singl1 [mT], now is ’&SF(B_singl1*1000, ’(F7.1)’);B_singl1 := ReadNumVal(B_singl1*1000)/1000;ProcessElement EL_SINGLET1;
ELSEIF SS(line,1,2)=’s2’;WRITE 6 ’enter B_singl2 [mT], now is ’&SF(B_singl2*1000, ’(F7.1)’);B_singl2 := ReadNumVal(B_singl2*1000)/1000;ProcessElement EL_SINGLET2;
ELSEIF SS(line,1,2)=’do’;WRITE 6 ’enter B_SEPdoublet_1 [mT], now is ’&SF(
B_SEPdoublet_1*1000, ’(F7.1)’);B_SEPdoublet_1 := ReadNumVal(B_SEPdoublet_1*1000)/1000;WRITE 6 ’enter B_SEPdoublet_2 [mT], now is ’&SF(
B_SEPdoublet_2*1000, ’(F7.1)’);B_SEPdoublet_2 := ReadNumVal(B_SEPdoublet_2*1000)/1000;ProcessElement EL_DOUBLET;
ELSEIF SS(line,1,2)=’w1’;
Appendix A. erna.2.3.fox 135
WRITE 6 ’enter U_SEPWF1 total [kV], now is ’&SF(U_SEPWF1/1000, ’(F5.1)’);
U_SEPWF1 := ReadNumVal(U_SEPWF1/1000)*1000;ProcessElement EL_SEPWF1;
ELSEIF SS(line,1,2)=’w2’;WRITE 6 ’enter U_SEPWF2 total [kV], now is ’&SF(
U_SEPWF2/1000, ’(F5.1)’);U_SEPWF2 := ReadNumVal(U_SEPWF2/1000)*1000;ProcessElement EL_SEPWF2;
ELSEIF SS(line,1,2)=’x ’;i:=1;
ENDIF;
IF i=0;UnityMap;LOOP i first_element last_element;
ProcessElement i;ENDLOOP;
ENDIF;
ENDPROCEDURE; SetFields-----------------------------------------------------------------------
PROCEDURE ChangeElementRange;VARIABLE i 1;VARIABLE j 1;VARIABLE row 1;VARIABLE cond1 1;VARIABLE cond2 1;VARIABLE default 1;VARIABLE txt 80;i := PHYSICAL_FIRST_ELEMENT;row := 1;WHILE i<PHYSICAL_LAST_ELEMENT+1;
IF row=1;IF SS(ELEMENTNAME(i), 1, 3)#’DL_’;
txt := SF(i,’(I2)’)&’: ’&SS(ELEMENTNAME(i), 1, 22);row := 2;
ENDIF;ELSEIF row=2;
IF SS(ELEMENTNAME(i), 1, 3)#’DL_’;LOOP j 1 26-LENGTH(txt);
txt := txt&’ ’;ENDLOOP;txt := txt&SF(i,’(I2)’)&’: ’&SS(ELEMENTNAME(i), 1, 22);row := 3;
ENDIF;ELSEIF row=3;
IF SS(ELEMENTNAME(i), 1, 3)#’DL_’;LOOP j 1 52-LENGTH(txt);
txt := txt&’ ’;ENDLOOP;txt := txt&SF(i,’(I2)’)&’: ’&SS(ELEMENTNAME(i), 1, 22);row := 4;
ENDIF;ENDIF;IF row=4;
WRITE 6 txt;row := 1;
ENDIF;i:=i+1;
ENDWHILE;IF row>1; text in first rows is not printed yet
WRITE 6 txt;ENDIF;WRITE 6
’+-------------------------------------------------------------------------+’’| Missing numbers represent drift lengths between the elements; of course |’’| these can also be chosen as first/last element! |’’| After entering a NEGATIVE NUMBER you can choose a position *inside* the |’’| corresponding element as calculation start/end point. This makes only |’’| sense for Wien filters, dipole magnets, and of course for drift lengths.|’’+-------------------------------------------------------------------------+’;
txt := ’Enter No. of first element (now is ’&SF(first_element,’(I2)’)&’: ’;txt:=txt&ELEMENTNAME(first_element);IF element_start(first_element)>0;
txt:=txt&’ starting at’&SF(element_start(first_element)*100,’(F6.1)’)&’cm’;
ENDIF;WRITE 6 txt&’):’;default := first_element;LTRUE cond1;LTRUE cond2;WHILE cond1+cond2;
i := INT(ReadNumVal(default));cond1 := ABS(i)<PHYSICAL_FIRST_ELEMENT;cond2 := ABS(i)>PHYSICAL_LAST_ELEMENT;IF cond1+cond2;
WRITE 6’absolute value must be greater than ’&SF(PHYSICAL_FIRST_ELEMENT-1,’(I2)’)’ and less than ’&SF(PHYSICAL_LAST_ELEMENT+1, ’(I2)’);
ENDIF;ENDWHILE;first_element := ABS(i);IF i<0;
i := -i;ProcessElement i;txt := SF(chamberlen*100, ’(F6.1)’);WRITE 6’Length of element ’&ELEMENTNAME(i)&’ seems to be’&txt&’cm.’;IF chamberlen>0;
WRITE 6’At which point from the beginning should the calculation start?’’Enter length [cm]:’;
LTRUE cond1;LTRUE cond2;WHILE cond1+cond2;
j := 0.01*ReadNumVal(100*element_start(i));cond1 := j<0;cond2 := j>chamberlen;IF cond1+cond2;
WRITE 6 ’absolute value must be greater than ’&SF(0, ’(F6.1)’)’ and less than ’&txt;
ENDIF;ENDWHILE;element_start(i):=j;
ELSEIF 1=1;WRITE 6’I will include this element in the calculation and graphics display.’;
Appendix A. erna.2.3.fox 136
ENDIF;ELSEIF 1=1;
IF first_element#default;element_start(default):=0;
ENDIF;ENDIF;
*****element_stop(i):=0;
*****
txt := ’Enter No. of last element (now is ’&SF(last_element,’(I2)’)&’: ’;txt:=txt&ELEMENTNAME(last_element);IF element_stop(last_element)>0;
txt:=txt&’ ending at’&SF(element_stop(last_element)*100,’(F6.1)’)&’cm’;
ENDIF;WRITE 6 txt&’):’;default := last_element;LTRUE cond1;LTRUE cond2;WHILE cond1+cond2;
i := INT(ReadNumVal(default));cond1 := ABS(i)>PHYSICAL_LAST_ELEMENT;cond2 := ABS(i)<first_element;IF cond1+cond2;
WRITE 6’absolute value must be greater than ’&SF(first_element-1,’(I2)’)’ and less than ’&SF(PHYSICAL_LAST_ELEMENT+1,’(I2)’);
ENDIF;ENDWHILE;last_element := ABS(i);LOOP j first_element+1 last_element-1;
element_start(j) := 0;element_stop(j) := 0;
ENDLOOP;IF i<0;
i := -i;ProcessElement i;txt := SF(chamberlen*100, ’(F6.1)’);WRITE 6’Length of element ’&ELEMENTNAME(i)&’ seems to be’&txt&’cm.’;IF chamberlen>0;
WRITE 6’At which point from the beginning should the calculation end?’’Enter length [cm]:’;
LTRUE cond1;LTRUE cond2;WHILE cond1+cond2;
j := 0.01*ReadNumVal(100*element_stop(i));cond1 := j<0;cond2 := j>chamberlen;IF cond1+cond2;
WRITE 6 ’absolute value must be greater than ’&SF(0, ’(F6.1)’)’ and less than ’&txt;
ENDIF;ENDWHILE;element_stop(i):=j;
ELSEIF 1=1;WRITE 6’I will include this element in the calculation and graphics display.’;
ENDIF;ELSEIF 1=1;
IF last_element#default;element_stop(default):=0;
ENDIF;ENDIF;
ENDPROCEDURE; ChangeElementRange-----------------------------------------------------------------------
PROCEDURE CalcBeamParamsAtGT;VARIABLE i 1;VARIABLE k 1;VARIABLE x 1;VARIABLE y 1;VARIABLE xp 1;VARIABLE yp 1;VARIABLE xmax 1;VARIABLE ymax 1;VARIABLE xpmax 1;VARIABLE ypmax 1;VARIABLE xmin 1;VARIABLE ymin 1;VARIABLE xpmin 1;VARIABLE ypmin 1;VARIABLE txt 80;xmax := -100;ymax := -100;xpmax := -100;ypmax := -100;xmin := 100;ymin := 100;xpmin := 100;ypmin := 100;IF (last_element+1<EL_GASTARGET)+(first_element>EL_GASTARGET);
txt := ’***ERROR: element before gastarget (element no. ’;txt:= txt&SF(EL_GASTARGET-1,’(I2)’);WRITE 6 txt&’) is not in element range’;
ELSEIF 1=1;WRITE 6 ’please wait ...’;------------------------------------------------------- loop setting the variable MAP_i(i) and dim(i) for map and vacuum chamber size of the i’th element -------------------------------------------------------LOOP i first_element last_element;
UnityMap;ProcessElement i;
ENDLOOP;LOOP k 1 N_ray_max;
ClearRays;SelectRay Ra(k,1) Ra(k,2) Ra(k,3) Ra(k,4) Ra(k,5)
Ra(k,6) Ra(k,7) Ra(k,8) Ra(k,9);UnityMap;LOOP i first_element EL_GASTARGET-1;
ApplyMap_i i;ENDLOOP;VELGET RAY(1) 2 x;VELGET RAY(2) 2 xp;VELGET RAY(3) 2 y;
Appendix A. erna.2.3.fox 137
VELGET RAY(4) 2 yp;IF x>xmax;
xmax := x;ENDIF;IF xp>xpmax;
xpmax := xp;ENDIF;IF y>ymax;
ymax := y;ENDIF;IF yp>ypmax;
ypmax := yp;ENDIF;IF x<xmin;
xmin := x;ENDIF;IF xp<xpmin;
xpmin := xp;ENDIF;IF y<ymin;
ymin := y;ENDIF;IF yp<ypmin;
ypmin := yp;ENDIF;******txt:= ’ xp(’&SF(k,’(I4)’)&’)=’&SF(xp*1000,’(F5.1)’)&’ mrad’;WRITE 6 txt&’ yp(’&SF(k,’(I4)’)&’)=’&SF(yp*1000,’(F5.1)’)&’ mrad’;******IF k/100=INT(k/100);
txt:=’’;LOOP i 1 (N_ray_max-k)/100+1;
txt:=txt&’*’;ENDLOOP;WRITE 6 SF(N_ray_max-k,’(I5)’)&txt;
ENDIF;ENDLOOP;x_max := xmax;y_max := ymax;x_min := xmin;y_min := ymin;xp_max := xpmax;yp_max := ypmax;xp_min := xpmin;yp_min := ypmin;
UnityMap;LOOP i first_element EL_GASTARGET-1;
ProcessElement i;ENDLOOP;LOOP i 1 N_ray_max;
xp := Ra(i,2);yp := Ra(i,4);IF ABS(xp)>xpmax; xpmax := ABS(xp); ENDIF;IF ABS(yp)>ypmax; ypmax := ABS(yp); ENDIF;txt:= ’ xp(’&SF(i,’(I4)’)&’)=’&SF(xp*1000,’(F5.1)’)&’ mrad’;WRITE 6 txt&’ yp(’&SF(i,’(I4)’)&’)=’&SF(yp*1000,’(F5.1)’)&’ mrad’;
ENDLOOP;
txt := ’ xmin =’&SF(xmin*1000,’(F6.1)’)&’ mm ’;txt := txt&’xpmin =’&SF(xpmin*1000,’(F6.1)’)&’ mrad’;WRITE 6 ’’ txt;txt := ’ xmax =’&SF(xmax*1000,’(F6.1)’)&’ mm ’;txt := txt&’xpmax =’&SF(xpmax*1000,’(F6.1)’)&’ mrad’;WRITE 6 txt;txt := ’ ymin =’&SF(ymin*1000,’(F6.1)’)&’ mm ’;txt := txt&’ypmin =’&SF(ypmin*1000,’(F6.1)’)&’ mrad’;WRITE 6 txt;txt := ’ ymax =’&SF(ymax*1000,’(F6.1)’)&’ mm ’;txt := txt&’ypmax =’&SF(ypmax*1000,’(F6.1)’)&’ mrad’;WRITE 6 txt ’’;
ENDIF;ENDPROCEDURE; CalcBeamParamsAtGT
-----------------------------------------------------------------------PROCEDURE AlignElements;
VARIABLE i 1;VARIABLE j 1;VARIABLE row 1;VARIABLE txt 80;VARIABLE element 1;VARIABLE cond1 1;VARIABLE cond2 1;VARIABLE dx 1;VARIABLE dy 1;VARIABLE ax 1;VARIABLE ay 1;VARIABLE angle 1;VARIABLE inpval 40;i :=1;row := 1;WHILE i<PHYSICAL_LAST_ELEMENT+1;
IF row=1;IF SS(ELEMENTNAME(i), 1, 3)#’DL_’;
txt := SF(i,’(I2)’)&’: ’&SS(ELEMENTNAME(i), 1, 22);row := 2;
ENDIF;ELSEIF row=2;
IF SS(ELEMENTNAME(i), 1, 3)#’DL_’;LOOP j 1 26-LENGTH(txt);
txt := txt&’ ’;ENDLOOP;txt := txt&SF(i,’(I2)’)&’: ’&SS(ELEMENTNAME(i), 1, 22);row := 3;
ENDIF;ELSEIF row=3;
IF SS(ELEMENTNAME(i), 1, 3)#’DL_’;LOOP j 1 52-LENGTH(txt);
txt := txt&’ ’;ENDLOOP;txt := txt&SF(i,’(I2)’)&’: ’&SS(ELEMENTNAME(i), 1, 22);row := 4;
ENDIF;ENDIF;IF row=4;
WRITE 6 txt;row := 1;
ENDIF;i:=i+1;
Appendix A. erna.2.3.fox 138
ENDWHILE;IF row>1; text in first rows is not printed yet
WRITE 6 txt;ENDIF;
WRITE 6 ’Set misalignment for which element (<ENTER>=back to menu)?’;element:=0;LTRUE cond1;LTRUE cond2;WHILE cond1+cond2;
element := INT(ReadNumVal(element));cond1 := element<PHYSICAL_FIRST_ELEMENT;cond2 := element>PHYSICAL_LAST_ELEMENT;IF element=0;
LFALSE cond1;ENDIF;IF cond1+cond2;
WRITE 6 ’must be greater than ’&SF(PHYSICAL_FIRST_ELEMENT-1,’(I2)’);WRITE 6 ’ and less than ’&SF(PHYSICAL_LAST_ELEMENT+1, ’(I2)’);
ENDIF;ENDWHILE;IF element#0;
dx :=element_deviation(element,1);dy :=element_deviation(element,2);ax :=element_deviation(element,3);ay :=element_deviation(element,4);angle:=element_deviation(element,5);txt := ’current axis offset, tilt angle and axis rotation angle for ’;WRITE 6 txt&ELEMENTNAME(element)&’ are:’;WRITE 6 ’ offset dx=’&SF(1000*dx, ’(F5.2)’)&’mm’;WRITE 6 ’ offset dy=’&SF(1000*dy, ’(F5.2)’)&’mm’;WRITE 6 ’ tilt ax=’&SF(1000*ax, ’(F5.2)’)&’mrad’;WRITE 6 ’ tilt ay=’&SF(1000*ay, ’(F5.2)’)&’mrad’;WRITE 6 ’rot. angle=’&SF( angle,’(F5.2)’)&’deg’;
WRITE 6 ’’ ’values are set to 0 if you press <ENTER>!’;inpval:=’’;WRITE 6 ’ enter offset dx [mm]:’;WHILE TYPE(inpval)#TYPE(1);
READ 5 inpval;IF TYPE(inpval)#TYPE(1);
WRITE 6 ’ enter a numerical value or press <ENTER> to reset to 0!’;ENDIF;
ENDWHILE;dx:=inpval/1000;inpval:=’’;WRITE 6 ’ enter offset dy [mm]:’;WHILE TYPE(inpval)#TYPE(1);
READ 5 inpval;IF TYPE(inpval)#TYPE(1);
WRITE 6 ’ enter a numerical value or press <ENTER> to reset to 0!’;ENDIF;
ENDWHILE;dy:=inpval/1000;inpval:=’’;WRITE 6 ’ enter tilt ax [mrad]:’;WHILE TYPE(inpval)#TYPE(1);
READ 5 inpval;IF TYPE(inpval)#TYPE(1);
WRITE 6 ’ enter a numerical value or press <ENTER> to reset to 0!’;ENDIF;
ENDWHILE;ax:=inpval/1000;inpval:=’’;WRITE 6 ’ enter tilt ay [mrad]:’;WHILE TYPE(inpval)#TYPE(1);
READ 5 inpval;IF TYPE(inpval)#TYPE(1);
WRITE 6 ’ enter a numerical value or press <ENTER> to reset to 0!’;ENDIF;
ENDWHILE;ay:=inpval/1000;inpval:=’’;WRITE 6 ’ enter rot. angle [deg]:’;WHILE TYPE(inpval)#TYPE(1);
READ 5 inpval;IF TYPE(inpval)#TYPE(1);
WRITE 6 ’ enter a numerical value or press <ENTER> to reset to 0!’;ENDIF;
ENDWHILE;angle:=inpval/1;element_deviation(element,1):=dx;element_deviation(element,2):=dy;element_deviation(element,3):=ax;element_deviation(element,4):=ay;element_deviation(element,5):=angle;
ENDIF;ENDPROCEDURE; AlignElements
************************************************************************* routines for optimizing *************************************************************************
PROCEDURE Optimize;VARIABLE OBJ 1;VARIABLE i 1;VARIABLE line 2;VARIABLE MAP_1 1000 8;VARIABLE MAP_2 1000 8;VARIABLE MAP_3 1000 8;--------------------------------------------------------FUNCTION RequiredElementsInRange e1 e2;
VARIABLE errtxt 80;IF (first_element>e1)+(last_element<e2);
errtxt:=’***ERROR: elements from ’&SF(e1,’(I2)’)&’ (’;errtxt:=errtxt&ELEMENTNAME(e1)&’)’;WRITE 6 errtxt;errtxt:=’ upto ’&SF(e2,’(I2)’)&’ (’;errtxt:=errtxt&ELEMENTNAME(e2)&’)’;WRITE 6 errtxt;WRITE 6 ’are required in range between’;errtxt:=’first element (now is ’;errtxt:=errtxt&SF(first_element,’(I2)’)&’: ’;errtxt:=errtxt&ELEMENTNAME(first_element)&’) and’;WRITE 6 errtxt;errtxt:=’ last element (now is ’;
Appendix A. erna.2.3.fox 139
errtxt:=errtxt&SF(last_element,’(I2)’)&’: ’;errtxt:=errtxt&ELEMENTNAME(last_element)&’)’;WRITE 6 errtxt;LFALSE RequiredElementsInRange;
ELSEIF 1=1;LTRUE RequiredElementsInRange;
ENDIF;ENDFUNCTION; RequiredElementsInRange--------------------------------------------------------PROCEDURE fit_trip_FC1;
WRITE 6 ’ fit of trip -> FC1 ...’;IF RequiredElementsInRange(EL_TRIPLET-1, EL_TRIPLET+1);
FIT B_trip_ex B_trip_in;UnityMap;ProcessElement EL_TRIPLET-1;ProcessElement EL_TRIPLET;ProcessElement EL_TRIPLET+1;OBJ := ABS(ME(1,12))+ABS(ME(3,34));
ENDFIT 1E-10 10000 1 OBJ;WRITE 6 ’B_trip_ex = ’&SF(B_trip_ex*1000, ’(F8.3)’);WRITE 6 ’B_trip_in = ’&SF(B_trip_in*1000, ’(F8.3)’);
ENDIF;ENDPROCEDURE; fit_trip_FC1--------------------------------------------------------PROCEDURE fit_tripl;
WRITE 6 ’ fit of triplet ...’;IF RequiredElementsInRange(EL_GASTARGET+1, EL_DL_SINGLET1_DIPOLE);
UnityMap;LOOP i EL_GASTARGET+1 EL_TRIPLET-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_TRIPLET+1 EL_DL_SINGLET1_DIPOLE;
ProcessElement i;ENDLOOP;SaveMap MAP_2;FIT B_trip_ex B_trip_in;
UnityMap;ApplyMap MAP_1;ProcessElement EL_TRIPLET;ApplyMap MAP_2;OBJ := ABS(ME(1,2))+ABS(ME(3,4)); in front of dipole
ENDFIT 1E-5 1000 1 OBJ;ENDIF;WRITE 6 ’B_trip_ex = ’&SF(B_trip_ex*1000, ’(F8.3)’);WRITE 6 ’B_trip_in = ’&SF(B_trip_in*1000, ’(F8.3)’);
ENDPROCEDURE; fit_tripl--------------------------------------------------------PROCEDURE fit_singlet1;
WRITE 6 ’ fit of singlet1 ...’;IF RequiredElementsInRange(EL_GASTARGET+1, EL_SLIT_DIPOLE);
UnityMap;LOOP i EL_GASTARGET+1 EL_SINGLET1-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_SINGLET1+1 EL_SLIT_DIPOLE;
ProcessElement i;ENDLOOP;SaveMap MAP_2;FIT B_singl1;
UnityMap;ApplyMap MAP_1;ProcessElement EL_SINGLET1;ApplyMap MAP_2;OBJ := ABS(ME(2,6));
ENDFIT 1E-12 1000 2 OBJ;WRITE 6 ’B_singl1 = ’&SF(B_singl1*1000, ’(F8.3)’);
ENDIF;ENDPROCEDURE; fit_singlet1--------------------------------------------------------PROCEDURE fit_SEPWF1;
WRITE 6 ’ fit of SEPWF1 ...’;IF RequiredElementsInRange(EL_SEPWF1, EL_DIPOLE);
UnityMap;LOOP i first_element EL_SEPWF1-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_SEPWF1+1 EL_DIPOLE;
ProcessElement i;ENDLOOP;SaveMap MAP_2;FIT U_SEPWF1;
UnityMap;ApplyMap MAP_1;ProcessElement EL_SEPWF1;ApplyMap MAP_2;IF debugging;
WRITE 6 ME(2,6);ENDIF;OBJ := ABS(ME(2,6));
ENDFIT 1E-12 1000 2 OBJ;WRITE 6 ’U_SEPWF1 = ’&SF(U_SEPWF1/1000, ’(F10.5)’);WRITE 6 ’B_SEPWF1 = ’&SF(B_SEPWF1*1000, ’(F8.3)’);WRITE 6 ’B_SEPWF1_exp = ’&SF(B_SEPWF1_exp*1000, ’(F8.3)’);
ENDIF;ENDPROCEDURE; fit_SEPWF1--------------------------------------------------------PROCEDURE fit_SEPWF2;
WRITE 6 ’ fit of SEPWF2 ...’;IF RequiredElementsInRange(EL_SEPWF2, EL_SLIT5_FC4_ICTIN);
UnityMap;LOOP i first_element EL_SEPWF2-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_SEPWF2+1 EL_SLIT5_FC4_ICTIN;
ProcessElement i;ENDLOOP;SaveMap MAP_2;FIT U_SEPWF2;
Appendix A. erna.2.3.fox 140
UnityMap;ApplyMap MAP_1;ProcessElement EL_SEPWF2;ApplyMap MAP_2;OBJ := ABS(ME(1,6));
ENDFIT 1E-9 1000 2 OBJ;WRITE 6 ’U_SEPWF2 = ’&SF(U_SEPWF2/1000, ’(F10.5)’);WRITE 6 ’B_SEPWF2 = ’&SF(B_SEPWF2*1000, ’(F8.3)’);WRITE 6 ’B_SEPWF2_exp = ’&SF(B_SEPWF2_exp*1000, ’(F8.3)’);
ENDIF;ENDPROCEDURE; fit_SEPWF2--------------------------------------------------------PROCEDURE fit_doubl;
WRITE 6 ’ fit of doublet ... ABS(ME(1,26))+ABS(ME(3,46))’;IF RequiredElementsInRange(EL_GASTARGET+1, EL_SLIT5_FC4_ICTIN);
UnityMap;LOOP i EL_GASTARGET+1 EL_DOUBLET-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_DOUBLET+1 EL_SLIT5_FC4_ICTIN;
ProcessElement i;ENDLOOP;SaveMap MAP_2;FIT B_SEPdoublet_1 B_SEPdoublet_2;
UnityMap;ApplyMap MAP_1;ProcessElement EL_DOUBLET;ApplyMap MAP_2;OBJ := ABS(ME(1,26))+ABS(ME(3,46));
ENDFIT 1E-6 1000 1 OBJ;WRITE 6 ’B_SEPdoublet_1 = ’&SF(B_SEPdoublet_1*1000, ’(F8.3)’);WRITE 6 ’B_SEPdoublet_2 = ’&SF(B_SEPdoublet_2*1000, ’(F8.3)’);
ENDIF;ENDPROCEDURE; fit_doubl--------------------------------------------------------PROCEDURE fit_doublsingl2;
WRITE 6 ’ fit of doubl + singl2 . ABS(ME(1,26))^2+ABS(ME(3,46))^2’;
IF RequiredElementsInRange(EL_DOUBLET, EL_SLIT5_FC4_ICTIN);UnityMap;LOOP i first_element EL_DOUBLET-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_DOUBLET+1 EL_SINGLET2-1;
ProcessElement i;ENDLOOP;SaveMap MAP_2;UnityMap;LOOP i EL_SINGLET2+1 EL_SLIT5_FC4_ICTIN;
ProcessElement i;ENDLOOP;DriftLength 0.1;SaveMap MAP_3;FIT B_SEPdoublet_1 B_SEPdoublet_2 B_singl2;
UnityMap;ApplyMap MAP_1;ProcessElement EL_DOUBLET;ApplyMap MAP_2;ProcessElement EL_SINGLET2;ApplyMap MAP_3;OBJ := (ABS(ME(1,26)))^2+(ABS(ME(3,46)))^2;DriftLength 0.2;OBJ := OBJ + (ABS(ME(1,26)))^2+(ABS(ME(3,46)))^2;
ENDFIT 1E-12 1000 1 OBJ;WRITE 6 ’B_SEPdoublet_1 = ’&SF(B_SEPdoublet_1*1000, ’(F8.3)’);WRITE 6 ’B_SEPdoublet_2 = ’&SF(B_SEPdoublet_2*1000, ’(F8.3)’);WRITE 6 ’B_singl2 = ’&SF(B_singl2, ’(F8.6)’);
ENDIF;
ENDPROCEDURE; fit_doublsingl2--------------------------------------------------------PROCEDURE fit_singl2;
WRITE 6 ’ fit of singl2 ... ME(1,26)+ ME(3,46)’;
IF RequiredElementsInRange(EL_SINGLET2, EL_SLIT5_FC4_ICTIN);UnityMap;LOOP i first_element EL_SINGLET2-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_SINGLET2+1 EL_SLIT5_FC4_ICTIN;
ProcessElement i;ENDLOOP;DriftLength 0.2;SaveMap MAP_2;FIT B_singl2;
UnityMap;ApplyMap MAP_1;ProcessElement EL_SINGLET2;ApplyMap MAP_2;OBJ := ABS(ME(1,26)) + ABS(ME(3,46));
ENDFIT 1E-6 1000 1 OBJ;WRITE 6 ’B_singl2 = ’&SF(B_singl2*1000, ’(F8.3)’);
ENDIF;
ENDPROCEDURE; fit_singl2--------------------------------------------------------PROCEDURE fit_everything;
VARIABLE choice 1;VARIABLE i 1;VARIABLE yesno 1;VARIABLE N_ray_max_old 1;VARIABLE last_element_old 1;WRITE 6 ’ optimize for normal (pilot) beam : 1’;WRITE 6 ’ optimize for high divergence pilot beam : 2’;WRITE 6 ’ optimize for symmetric high divergence pilot beam : 3’;WRITE 6 ’ don’’t waste so much time : 0’;choice := ’ ’;WHILE TYPE(choice)#TYPE(1);
READ 5 choice;ENDWHILE;
Appendix A. erna.2.3.fox 141
IF choice=1;fit_singlet1;fit_tripl;fit_doubl;
ELSEIF choice=2;fit_singlet1;fit_tripl;fit_doubl;
ELSEIF choice=3;WRITE 6 ’’
’Sorry, due to a change of priorities this is not functional’’at the moment!’’’;
*************************************************************WRITE 6 ’ATTENTION: This will take a while’
’ and still is beta code!’’ Are you sure (99=yes, <ENTER>=no)?’;
yesno := ’’;WHILE TYPE(yesno)#TYPE(1);
READ 5 yesno;ENDWHILE;IF yesno#99;
WRITE 6 ’Ok, I did nothing.’;ELSEIF N_ray_max<1;
WRITE 6 ’ERROR: You must define some rays first!’;ELSEIF RequiredElementsInRange(EL_GASTARGET, EL_GASTARGET);
UnityMap;LOOP i first_element EL_DTLSINGLET1-1;
ProcessElement i;ENDLOOP;SaveMap MAP_1;UnityMap;LOOP i EL_DTLSINGLET1+1 EL_GASTARGET-1;
ProcessElement i;ENDLOOP;SaveMap MAP_2;fit_HEdoublet_on_AM;fit_DTLdoublet_on_defocusap;fit_defocdoublet;fit_singlet1;fit_tripl;fit_doubl;last_element_old := last_element;last_element := EL_GASTARGET;xp_max := 0.1;yp_max := 1;N_ray_max_old := N_ray_max;LOOP i 1 N_ray_max;
Ra_backup(i,1) := Ra(i,1);Ra_backup(i,2) := Ra(i,2);Ra_backup(i,3) := Ra(i,3);Ra_backup(i,4) := Ra(i,4);Ra_backup(i,5) := Ra(i,5);Ra_backup(i,6) := Ra(i,6);Ra_backup(i,7) := Ra(i,7);Ra_backup(i,8) := Ra(i,8);Ra_backup(i,9) := Ra(i,9);
ENDLOOP;FIT B_DTLsinglet1;
UnityMap;ApplyMap MAP_1;ProcessElement EL_DTLSINGLET1;ApplyMap MAP_2;
LOOP i EL_DTLSINGLET1+1 EL_GASTARGET;
ProcessElement i;ENDLOOP;
N_ray_max := N_ray_max_old;LOOP i 1 N_ray_max;
Ra(i,1) := Ra_backup(i,1);Ra(i,2) := Ra_backup(i,2);Ra(i,3) := Ra_backup(i,3);Ra(i,4) := Ra_backup(i,4);Ra(i,5) := Ra_backup(i,5);Ra(i,6) := Ra_backup(i,6);Ra(i,7) := Ra_backup(i,7);Ra(i,8) := Ra_backup(i,8);Ra(i,9) := Ra_backup(i,9);
ENDLOOP;CalcTransmission;ReadRaysFromFile ’r_in’;CalcAnglesAtGT;OBJ := ABS(xp_max/yp_max -1);
write 6 obj;ENDFIT .0005 1000 2 OBJ;last_element := last_element_old;WRITE 6 ’READY! Fitted everything, including DTL singlet.’;
ENDIF;*************************************************************
ENDIF;ENDPROCEDURE; fit_everything-------------------------------------------------------WRITE 6 ’-----------------------------------------------’;WRITE 6 ’ all al’;WRITE 6 ’ singlet1 s1’;WRITE 6 ’ trip-FC1 t1’;WRITE 6 ’ triplet t’;WRITE 6 ’ doublet do’;WRITE 6 ’ singlet2 s2’;WRITE 6 ’ doublet + singl2 ds’;WRITE 6 ’ SEPWF1 w1’;WRITE 6 ’ SEPWF2 w2’;WRITE 6 ’-----------------------------------------------’;WRITE 6 ’optimize beam optics by fitting everything fe’;WRITE 6 ’-----------------------------------------------’;WRITE 6 ’BACK TO MENU x’;WHILE TYPE(line)#TYPE(’ ’);
READ 5 line;ENDWHILE;IF SS(line,1,2)=’t’; fit_tripl;ELSEIF SS(line,1,2)=’s1’; fit_singlet1;ELSEIF SS(line,1,2)=’t1’; fit_trip_FC1;ELSEIF SS(line,1,2)=’do’; fit_doubl;ELSEIF SS(line,1,2)=’s2’; fit_singl2;
Appendix A. erna.2.3.fox 142
ELSEIF SS(line,1,2)=’ds’; fit_doublsingl2;ELSEIF SS(line,1,2)=’w1’; fit_SEPWF1;ELSEIF SS(line,1,2)=’w2’; fit_SEPWF2;ELSEIF SS(line,1,2)=’al’; fit_singlet1;
fit_tripl;fit_doublsingl2;
ELSEIF SS(line,1,2)=’fe’; fit_everything;ENDIF;
ENDPROCEDURE; Optimize
PROCEDURE CheckFieldLimits;PROCEDURE LimitError el B_val B_limit;
WRITE 6 ’> *** Attention: Field of ’&el&’ is set to’&SF(B_val*1000, ’(F7.2)’)&’mT’’> *** but there might be a physical limit of’&SF(B_limit*1000, ’(F7.2)’)&’mT!’;
ENDPROCEDURE; LimitError
IF ABS(B_DTLsinglet2)>LIMIT_B_DTLsinglet2;LimitError ’DTL singlet 2’ B_DTLsinglet2 LIMIT_B_DTLsinglet2;
ENDIF;IF ABS(B_defocdoublet_1)>LIMIT_B_defocdoublet_1;
LimitError ’defoc.doubl.lens 1’ B_defocdoublet_1 LIMIT_B_defocdoublet_1;ENDIF;IF ABS(B_defocdoublet_2)>LIMIT_B_defocdoublet_2;
LimitError ’defoc.doubl.lens 2’ B_defocdoublet_2 LIMIT_B_defocdoublet_2;ENDIF;IF ABS(B_trip_ex)>LIMIT_B_trip_ex;
LimitError ’external triplet lens’ B_trip_ex LIMIT_B_trip_ex;ENDIF;IF ABS(B_trip_in)>LIMIT_B_trip_in;
LimitError ’internal triplet lens’ B_trip_in LIMIT_B_trip_in;ENDIF;IF ABS(B_singl1)>LIMIT_B_singl1;
LimitError ’first sep. singlet’ B_singl1 LIMIT_B_singl1;ENDIF;IF B_singl1<0;
WRITE 6’> *** Attention: Field of singlet 1 seems to have the wrong sign!’;
ENDIF;IF ABS(B_SEPdoublet_1)>LIMIT_B_SEPdoublet_1;
LimitError ’sep. doublet lens 1’ B_SEPdoublet_1 LIMIT_B_SEPdoublet_1;ENDIF;IF ABS(B_SEPdoublet_2)>LIMIT_B_SEPdoublet_2;
LimitError ’sep. doublet lens 2’ B_SEPdoublet_2 LIMIT_B_SEPdoublet_2;ENDIF;IF ABS(B_singl2)>LIMIT_B_singl2;
LimitError ’second sep. singlet’ B_singl2 LIMIT_B_singl2;ENDIF;IF ABS(B_dipole)>LIMIT_B_dipole;
LimitError ’60deg. dipole’ B_dipole LIMIT_B_dipole;ENDIF;
IF (B_singl1<50/1000)+(B_singl1>88/1000);WRITE 6’> *** Attention: Field of separator singlet1 is set to an’’> *** unusual value. Check!’;
ENDIF;ENDPROCEDURE; CheckFieldLimits
********************************************************* OUTPUT ROUTINES *********************************************************
PROCEDURE ShowFields;VARIABLE i 1;VARIABLE txt1 50;VARIABLE txt2 50;VARIABLE txt3 50;VARIABLE txt4 80;
UnityMap;LOOP i first_element last_element;
ProcessElement i;ENDLOOP;UnityMap;
txt4 := ’**************************************’;
txt1 := ’* calculated ERNA fields for particles with m =’;txt2 := SF(A,’(I3)’)&’u, E =’&SF(W, ’(F5.2)’)&’MeV, q = ’;WRITE 6 ’’ ’’ txt4&txt4;WRITE 6 txt1&txt2&SF(q, ’(I1)’)&’e *’;WRITE 6 txt4&txt4 ’’;WRITE 6 ’ voltages in kV - magnetic fields in mT’;txt4 := ’ ______________’;WRITE 6 txt4;
txt4 := ’------------------------------’;WRITE 6 ’--/ triplet \------------’;txt1 := ’| B_trip_ex = ’&SF(B_trip_ex*1000, ’(F6.1)’)&’ |’;txt2 := ’| B_trip_in = ’&SF(B_trip_in*1000, ’(F6.1)’)&’ |’;WRITE 6 txt1;WRITE 6 txt2;WRITE 6 txt4;WRITE 6 ’-------/ singlet \-------’;txt2 := ’| B_singl1 = ’&SF(B_singl1*1000, ’(F6.1)’)&’ |’;
******txt3 := ’| B_singl2 = ’&SF(B_singl2*1000, ’(F6.1)’)&’ |’;WRITE 6 txt1&txt2&txt3;
******WRITE 6 txt2;WRITE 6 txt4;WRITE 6 ’------------/ doublet \--’;txt2 := ’| B_SEPdoublet_1 = ’&SF(B_SEPdoublet_1*1000, ’(F6.1)’)&’ |’;WRITE 6 txt2;txt2 := ’| B_SEPdoublet_2 = ’&SF(B_SEPdoublet_2*1000, ’(F6.1)’)&’ |’;WRITE 6 txt2;WRITE 6 txt4;WRITE 6 ’--------/ dipoles \’&txt4;txt1 := ’| B_dipole = ’&SF(B_dipole*1000, ’(F6.1)’)&’ ’;txt2 := ’| B_dipole_exp = ’&SF(B_dipole_exp*1000, ’(F6.1)’)&’ |’;WRITE 6 txt1&txt2;txt1 := ’| B_cssm = ’&SF(B_cssm*1000, ’(F6.1)’)&’ ’;txt2 := ’| |’;WRITE 6 txt1&txt2;WRITE 6 txt4&’------------------------’;WRITE 6 txt4&’/ Wien filters \’&txt4;txt1 := ’| U_SEPWF1 tot = ’&SF(U_SEPWF1/1000, ’(F7.3)’)&’ ’;txt2 := ’| B_SEPWF1 = ’&SF(B_SEPWF1*1000, ’(F6.1)’)&’ ’;txt3 := ’| B_SEPWF1_exp = ’&SF(B_SEPWF1_exp*1000, ’(F6.1)’)&’ |’;
Appendix A. erna.2.3.fox 143
WRITE 6 txt1&txt2&txt3;txt1 := ’| U_SEPWF2 tot = ’&SF(U_SEPWF2/1000, ’(F7.3)’)&’ ’;txt2 := ’| B_SEPWF2 = ’&SF(B_SEPWF2*1000, ’(F6.1)’)&’ ’;txt3 := ’| B_SEPWF2_exp =(’&SF(B_SEPWF2_exp*1000, ’(F6.1)’)&’) |’;WRITE 6 txt1&txt2&txt3;WRITE 6 txt4&’----------------’&txt4;
ENDPROCEDURE; ShowFields--------------------------------------------------------------- writing ref. beam and fields into file ---------------------------------------------------------------PROCEDURE SaveResults;
VARIABLE l_1 1;VARIABLE l_2 1;VARIABLE l_tot 1;VARIABLE x_min 1;VARIABLE x_max 1;VARIABLE r_max 1;VARIABLE y_min 1;VARIABLE y_max 1;VARIABLE dummy 80;VARIABLE i 1;VARIABLE p 1;VARIABLE x 1;FUNCTION FormattedNumber x;
VARIABLE fn 8;IF ABS(x)<1;
IF x<0;fn := SF(-x, ’(F8.5)’);fn := ’ -’&SS(fn, 3, 8);
ELSEIF 1=1;fn := SF( x, ’(F8.5)’);
ENDIF;ELSEIF 1=1;
fn := ’ *******’;ENDIF;FormattedNumber := fn;
ENDFUNCTION;WRITE 6 ’enter output filename ’;READ 5 filename;p := 0;LOOP i 1 LENGTH(filename);
IF SS(filename, i, i)=’ ’;IF p=0;
p := i;ENDIF;
ENDIF;ENDLOOP;UnityMap;LOOP i first_element last_element;
ProcessElement i;ENDLOOP;SaveMap MAP_dummy;filename := SS(filename, 1, p-1)&’.fields’;WRITE 6 ’ ’
’writing fields into ’&SESSIONPREFIX(1)&filename&’ ...’;OPENF 15 SESSIONPREFIX(1)&filename ’unknown’;WRITE 15 ’----------- ERNA fields (>=V1.8)--’;WRITE 15 ’ U_SEPWF1 [V] = ’&SF(U_SEPWF1, ’(F8.1)’);WRITE 15 ’ B_SEPWF1 [T] = ’&SF(B_SEPWF1, ’(F8.5)’);WRITE 15 ’ B_SEPWF1_exp [T] = ’&SF(B_SEPWF1_EXP, ’(F8.5)’);WRITE 15 ’ U_SEPWF2 [V] = ’&SF(U_SEPWF2, ’(F8.1)’);WRITE 15 ’ B_SEPWF2 [T] = ’&SF(B_SEPWF2, ’(F8.5)’);WRITE 15 ’ B_SEPWF2_exp [T] = ’&SF(B_SEPWF2_EXP, ’(F8.5)’);WRITE 15 ’ B_SEPsinglet1 [T] = ’&SF(B_singl1, ’(F8.5)’);WRITE 15 ’ B_SEPsinglet2 [T] = ’&SF(B_singl2, ’(F8.5)’);WRITE 15 ’ B_SEPdoublet_1 [T] = ’&SF(B_SEPdoublet_1, ’(F8.5)’);WRITE 15 ’ B_SEPdoublet_2 [T] = ’&SF(B_SEPdoublet_2, ’(F8.5)’);WRITE 15 ’ B_tripl_ex [T] = ’&SF(B_trip_ex, ’(F8.5)’);WRITE 15 ’ B_tripl_in [T] = ’&SF(B_trip_in, ’(F8.5)’);WRITE 15 ’ B_cssm [T] = ’&SF(B_cssm, ’(F8.5)’);WRITE 15 ’ B_dipole [T] = ’&SF(B_dipole, ’(F8.5)’);WRITE 15 ’ B_dipole_exp [T] = ’&SF(B_dipole_exp, ’(F8.5)’);WRITE 15 ’-------------- beam ---------------’;WRITE 15 ’ A (mass) [u] = ’&SF(A, ’(F8.3)’);WRITE 15 ’ W (energy) [MeV] = ’&SF(W, ’(F8.3)’);WRITE 15 ’ q (charge) [e] = ’&SF(q, ’(F8.3)’);WRITE 15 ’-----------------------------------’;WRITE 15 ’ calculation order =’&SF(calc_order, ’(I2)’);WRITE 15 ’ phase space dim =’&SF(phase_space_dim, ’(I2)’);WRITE 15 ’ No of parameters =’&SF(N_parameter, ’(I2)’);WRITE 15 ’ fringe field mode =’&SF(fringefield_mode,’(I2)’);IF TYPE(raysfile)=TYPE(’ ’);
WRITE 15 ’----------- filenames -------------’;WRITE 15 ’ ray input file name = ’&raysfile;
ENDIF;WRITE 15 ’-----------------------------------’;CLOSEF 15;filename := SS(filename, 1, p-1)&’.rstart’;WRITE 6 ’writing ray start params into ’&SESSIONPREFIX(1)&filename&’ ...’;OPENF 15 SESSIONPREFIX(1)&filename ’unknown’;filename := SS(filename, 1, p-1)&’.rstop’;WRITE 6 ’writing ray stop params into ’&SESSIONPREFIX(1)&filename&’ ...’;OPENF 16 SESSIONPREFIX(1)&filename ’unknown’;LOOP i 1 N_ray_max;
ClearRays;SelectRay Ra(i,1) Ra(i,2) Ra(i,3) Ra(i,4) Ra(i,5)
Ra(i,6) Ra(i,7) Ra(i,8) Ra(i,9);dummy:=SF(i, ’(I7)’);VELGET RAY(1) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(2) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(3) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(4) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(5) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(6) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(7) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(8) 2 x;
Appendix A. erna.2.3.fox 144
dummy := dummy&FormattedNumber(x);x := Ra(i, 9);dummy := dummy&SF(x, ’(I2)’);WRITE 15 dummy;ApplyMap Map_dummy;dummy:=SF(i, ’(I7)’);VELGET RAY(1) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(2) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(3) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(4) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(5) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(6) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(7) 2 x;dummy := dummy&FormattedNumber(x);VELGET RAY(8) 2 x;dummy := dummy&FormattedNumber(x);x := Ra(i, 9);dummy := dummy&SF(x, ’(I2)’);WRITE 16 dummy;
ENDLOOP;LOOP i 15 16;
WRITE i ’#’;IF N_ray_max>0;
WRITE i’1 7|9 15|17 23|25 31|33 39|41 47|49 55|57 63|65 71|c’’-------+-------+-------+-------+-------+-------+-------+-------+-------+o’’ n | x | xp | y | yp | T | D | G | Z |l’’ | | | | | time |energy | mass |charge |r’;
ELSEIF 1=1;WRITE i ’There were no rays defined!’;
ENDIF;ENDLOOP;CLOSEF 15;CLOSEF 16;-------------------------------------------------------------- writing geometry into ’geometry.dat’ --------------------------------------------------------------filename := SS(filename, 1, p-1)&’.geometry’;WRITE 6 ’writing geometry into ’&SESSIONPREFIX(1)&filename&’ ...’;OPENF 15 SESSIONPREFIX(1)&filename ’unknown’;WRITE 15 ’This is file ’&SESSIONPREFIX(1)&filename;WRITE 15 ’’;WRITE 15 ’ ____ _____’;WRITE 15 ’ | | \ |\ | /\’;WRITE 15 ’ |___ |____/ | \ | / \’;WRITE 15 ’ | | \ | \ | /____\’;WRITE 15 ’ |____ | \ | \| / \’;WRITE 15 ’’;WRITE 15 ’ G E O M E T R Y’;WRITE 15 ’’;WRITE 15 ’------------------------------------------------------------’;WRITE 15 ’ length = effective length [m]’;WRITE 15 ’ x_min ... r_max = vac. chamber or slit size (not pole gap)’;WRITE 15 ’ ’;dummy := ’ i length x_min x_max’;dummy := dummy&’ y_min y_max r_max element’;WRITE 15 dummy;UnityMap;l_1 := 0;l_2 := 0;LOOP i first_element last_element;
ProcessElement i;IF element_stop(i)>0;
chamberlen := element_stop(i);ENDIF;chamberlen := chamberlen-element_start(i);VELGET dim(i) 1 x_min;VELGET dim(i) 2 x_max;VELGET dim(i) 3 y_min;VELGET dim(i) 4 y_max;VELGET dim(i) 5 r_max;dummy := SF(chamberlen,’(F7.4)’);dummy := dummy&’ ’&SF(x_min,’(F7.4)’)&’ ’&SF(x_max,’(F7.4)’);dummy := dummy&’ ’&SF(y_min,’(F7.4)’)&’ ’&SF(y_max,’(F7.4)’);dummy := dummy&’ ’&SF(r_max,’(F7.4)’)&’ ’&name;WRITE 15 SF(i,’(I3)’)&’ ’&dummy;l_2 := l_2 + chamberlen;IF i=EL_DIPOLE;
l_1 := l_2 - 0.5*chamberlen;ENDIF;
ENDLOOP;l_tot := l_2;l_2 := l_2 - l_1;WRITE 15 ’’;IF (first_element<EL_DIPOLE)*(last_element>EL_DIPOLE);
dummy := ELEMENTNAME(first_element)&’ ’;dummy := ’length1 (’&SS(dummy, 1, 25);dummy := dummy&’-> dipole center ) = ’&SF(l_1,’(F7.3)’)&’m’;WRITE 15 dummy;dummy := ELEMENTNAME(last_element)&’ ’;dummy := SS(dummy, 1, 25)&’) = ’&SF(l_2,’(F7.3)’)&’m’;dummy := ’length2 (dipole center -> ’&dummy;WRITE 15 dummy;
ENDIF;dummy := ’total length ’;dummy := dummy&’ = ’&SF(l_tot,’(F7.3)’)&’m’;WRITE 15 dummy;CLOSEF 15;------------------------------------------------------------- writing graphic files -------------------------------------------------------------WRITE 6 ’writing graphics into PIC00x.ps ...’;PlotX -10 0;PlotY -10 0;PlotLab -10 1;WRITE 6 ’OK!’ ’’;session_number := session_number+1;
Appendix A. erna.2.3.fox 145
ENDPROCEDURE; SaveResults----------------------------------------------------
PROCEDURE ToggleDebugging;VARIABLE txt 32;IF debugging;
txt:=’OFF’;LFALSE debugging;
ELSEIF 1=1;txt:=’ON’;LTRUE debugging;
ENDIF;WRITE 6 ’’;WRITE 6 ’*** debugging is now ’&txt;WRITE 6 ’’;
ENDPROCEDURE; ToggleDebugging----------------------------------------------------
PROCEDURE ReverseSystem;VARIABLE txt 32;VARIABLE db 1;IF ComputeReversedSystem;
txt:=’OFF’;LFALSE ComputeReversedSystem;InitConstants;
ELSEIF 1=1;txt:=’ON’;LTRUE ComputeReversedSystem;
ENDIF;db := debugging;InitConstants;debugging := db;db := first_element;first_element := PHYSICAL_LAST_ELEMENT-last_element+1;last_element := PHYSICAL_LAST_ELEMENT-db +1;WRITE 6 ’’;WRITE 6 ’*** computation of reversed system is now ’&txt;WRITE 6 ’’;
ENDPROCEDURE; ReverseSystem*********************************************************************** BEGIN of the MAIN ROUTINE ***********************************************************************
WRITE 6 ’ ’;WRITE 6 ’ | ’;WRITE 6 ’ | / ’;WRITE 6 ’ _____________________________________ | / ’;WRITE 6 ’ / \ |/____ ’;WRITE 6 ’ / ERNA simulator V1.3a (22-JAN-2003) \|/ \__ ’;WRITE 6 ’ =( by H. Rocken # __> ’;WRITE 6 ’ \ (based on septune10 by D. Rogalla) /|\____/ ’;WRITE 6 ’ \_____________________________________/ | ’;WRITE 6 ’ / | ’;WRITE 6 ’ / | ’;WRITE 6 ’ ’;
WRITE 6 ’’;WRITE 6 ’ __’;WRITE 6 ’ ___________________________________________ / /’;WRITE 6 ’ / \ /_/’;WRITE 6 ’ / ERNA simulator V1.7b (11-JUL-2003) \ -/-’;WRITE 6 ’ ( by H. Rocken (still very slightly based on ) __/_ ’;WRITE 6 ’ \ septune10 by D. Rogalla) / / /’;WRITE 6 ’ \___________________________________________/ /___/’;WRITE 6 ’ __/_’;WRITE 6 ’ /___/’;WRITE 6 ’ \ | / /___/’;WRITE 6 ’ \ | / __/_’;WRITE 6 ’ \|/ _ _ _ ___ ____________ _ __/ /’;WRITE 6 ’ _____-_| | | |_|__| |_| |_| |_|__| /’;WRITE 6 ’ - |_|_|_| | |___| | | |_| | |____/’;WRITE 6 ’ /|\ |____________|’;WRITE 6 ’ / | \’;WRITE 6 ’ / | \’;WRITE 6 ’’ ’’;
WRITE 6 ’’;WRITE 6 ’ ___ _ _ _ ____ _ ___’;WRITE 6 ’ / |__| | | |_|___| |________| |_|___| \’;WRITE 6 ’ / | |_|_|_| | |____| |_| | | \’;WRITE 6 ’ /____/ \____\’;WRITE 6 ’ / __\__’;WRITE 6 ’ \ | / \____\’;WRITE 6 ’ \!/ _____________________________________ \____\’;WRITE 6 ’ ----#---- / \ __\__’;WRITE 6 ’ /|\ / ERNA simulator V2.3 (18-SET-2018) \ \ \’;WRITE 6 ’ / | \ / by A. Di Leva and J.G. Duarte \ \____\’;WRITE 6 ’ | \ (Improvement of V1.7b by H. Rocken | _\_’;WRITE 6 ’ \ that is very slightly based / \’;WRITE 6 ’ \ on septune10 by D. Rogalla) / _\_’;WRITE 6 ’ \_____________________________________/ \ \’;WRITE 6 ’ \__\’;WRITE 6 ’’ ’’;LFALSE ComputeReversedSystem;LFALSE showSlitsAndFCs;LFALSE show3Dgraphics;LFALSE use_new_DTLsinglet;projection_plane := ’0’;InitConstants; initialize the global (pseudo-) constants
----------------------------------------------------------------------- initiate the optic calculation -----------------------------------------------------------------------
calc_order := 3;IF calc_order<3;
WRITE 6 ’*********************************************’;WRITE 6 ’*** calc_order reduced for speed reasons! ***’;WRITE 6 ’*********************************************’;
next_step:=’’;WHILE TYPE(next_step)#TYPE(1);
WRITE 6 ’ enter 99 to continue, press <ENTER> to abort:’;READ 5 next_step;
ENDWHILE;IF next_step#99;
QUIT 0;ENDIF;
ENDIF;
Appendix A. erna.2.3.fox 146
phase_space_dim := 3;N_parameter := 2;OV calc_order phase_space_dim N_parameter;
initialize calculation Order and Valuesgraphics output setup: LSYS:= 1; show beamline elements LCE := 1; show type of elements LAX := 1; show total size of system
the latter works only with command PG (print graphics) which isnot used here; instead we use PP (print picture)
init;RP W A*para(1) q*para(2);RP W A q; define Reference ParticleWRITE 6 ’’
’Enter a name for this session’’(this will be used as filename prefix, default is ’’ERNADEFAULT’’;’’ hint: if you give the name of an _existing_ directory with ’’/’’ at the end’’ (e.g. ’’./myfiles/’’), the files will be written into this directory):’;READ 5 session_name;IF TYPE(session_name)=TYPE(1);
IF session_name=0;session_name:=’ERNADEFAULT’;
ENDIF;ENDIF;WHILE TYPE(session_name)#TYPE(’x’);
WRITE 6 ’Enter a string or press <ENTER> for default!’;READ 5 session_name;IF TYPE(session_name)=TYPE(1);
IF session_name=0;session_name:=’ERNADEFAULT’;
ENDIF;ENDIF;
ENDWHILE;tmp1 := LENGTH(session_name);WHILE SS(session_name, tmp1, tmp1)=’ ’;
tmp1 := tmp1-1;ENDWHILE;session_name := SS(session_name, 1, tmp1);session_number := 1;
----------------------------------------------------------------------- defining the reference beam, geometry, initial fields, rays -----------------------------------------------------------------------
InitGeometry; initialize drift lengths, slit openings first_element := 1;ProcessElement INIT_FIRST_LAST_ELEMENT;initialize first, last elementInitFields; initialize field values first_element := EL_GASTARGET;---------------------------------------------------------------IF W>3;
WRITE 6 ’*****************************************************’;WRITE 6 ’*** check parameters of separation Wien filter 1! ***’;WRITE 6 ’*****************************************************’;WRITE 6 ’’ ’press <ENTER> to continue...’;READ 5 next_step;
ENDIF;---------------------------------------------------------------beam_diameter := -1;beam_divergence := -1; initialize the random generator: CPUSEC elapsed_time;tmp1 := elapsed_time-INT(elapsed_time); 0 <= tmp1 < 1 tmp1 := INT(tmp1*1E5); 0 <= tmp1 < 1E5 LOOP tmp2 1 tmp1;
RERAN tmp3;ENDLOOP;WRITE 6
’’’******’’V1.0 : Fully functional ERNA simulation.’’V1.2c: .’’V1.4b: Enter deviations from reference beam in absolute values.’’V1.4c: Start and stop parameters of ion rays are saved.’’V1.4d: Trace two different ion beams simultaneously.’’V1.4e: New DTL singlet; acceptance trace prints beam dims at SEPWF1 exit.’’V1.4f: Trace upto three ion beams simultaneously.’’V1.4h: Especially for Daniel: now tracing upto 150000 ions!’’V1.5a: New file formats for rays and fields input/output files.’’V1.5b: Improved Gaussian beam generation routine.’’V1.5c: You now can choose how many rays the ERNA code should create.’’V1.6a: Files (except graphics) are saved with session name/number.’’V1.7a: Set element calcualtion range *inside* elements.’’V1.7b: Beam params calculation at gastarget position. Some bugfixes.’’V2.0 : ERNA at CIRCE, with CSSM and some other layout modifications.’’V2.3 : Triplet mis., 0.5 factor of M, q and W dev., jet target and layout.’’******’’’;
----------------------------------------------------------------------- loop for optimizations, changing parameters -----------------------------------------------------------------------
next_step:=1;WHILE next_step#99;
ShowFields;-----------------------------------------------------------------------
WRITE 6’ /-----------------------------------------------------------------------\’’ | 1: fit fields 2: set fields 3: show graphics |’’ | 4: create beam 5: angular acceptance 6: energy acceptance |’’ | 7: modify beam 8: change element range 9: mod. some lengths |’’ | 10: save everything 11: read fields 12: show fields |’’ | 13: elem. misalignments 14: calc. leaky beam 15: beam params at GT |’’ | 16: show slits and FCs 17: reverse system 18: debug mode on/off |’’ | 19: 3D graphics on/off 20: DTL singlet on/off 88: help |’’ \------------------------------------------------ 99: quit simulator ---/’;
CheckFieldLimits;IF debugging;
MEMALL tmp1;MEMFRE tmp2;
VARMAX tmp3; txt1 := ’memory currently allocated:’&SF(tmp1/1024, ’(I6)’);txt1:= txt1&’kB, free:’&SF(tmp2/1024, ’(I6)’)&’kB, for maximal’;
txt1:= txt1&SF(tmp3, ’(I8)’)&’ vars’; WRITE 6 txt1;
ENDIF;next_step := ’ ’;WHILE TYPE(next_step)#TYPE(1);
Appendix A. erna.2.3.fox 147
READ 5 next_step;ENDWHILE;IF next_step=99;
WRITE 6 ’ save results (99=yes, <ENTER>=no, -1=back to menu)?’;save := ’’;WHILE TYPE(save)#TYPE(1);
READ 5 save;ENDWHILE;IF save=99;
SaveResults;ELSEIF save=-1;
next_step := 0;ENDIF;
ELSEIF next_step=1; Optimize;ELSEIF next_step=2; SetFields;ELSEIF next_step=3; PlotX -1 0;
PlotY -2 0;IF show3Dgraphics;
PlotLab -3 1;ENDIF;
ELSEIF next_step=4; DefineRays;ELSEIF next_step=5; CalcTransmission;ELSEIF next_step=6; E_scan;ELSEIF next_step=7; SetDeviations;ELSEIF next_step=8; ChangeElementRange;ELSEIF next_step=9; ChangeDimensions;ELSEIF next_step=10; SaveResults;ELSEIF next_step=11; ReadFields;ELSEIF next_step=12; ShowFields;ELSEIF next_step=13; AlignElements;ELSEIF next_step=14; CalcLeakyBeam;ELSEIF next_step=15; CalcBeamParamsAtGT;ELSEIF next_step=16; showSlitsAndFCs := NOT(showSlitsAndFCs);
IF showSlitsAndFCs;WRITE 6 ’’
’OK, slits and FCs will be shown in next graphics update!’ ’’;ELSEIF 1=1;
WRITE 6 ’’’OK, slits and FCs will disappear in next graphics update!’ ’’;
ENDIF;ELSEIF next_step=17; ReverseSystem;ELSEIF next_step=18; ToggleDebugging;ELSEIF next_step=19; show3Dgraphics := NOT(show3Dgraphics);
IF show3Dgraphics;WRITE 6 ’phi: ’;phi_lab := ReadNumVal(phi_lab);WRITE 6 ’theta: ’;theta_lab := ReadNumVal(theta_lab);PlotLab -123 1;
ELSEIF 1=1;WRITE 6 ’’
’3D graph will not be updated any more!’ ’’;ENDIF;
ELSEIF next_step=20; use_new_DTLsinglet := NOT(use_new_DTLsinglet);IF use_new_DTLsinglet;
WRITE 6 ’’’I will use the new DTL singlet (DTLSINGLET2) downstream of the’’DTL doublet for focusing. Fields are now set to previous/start values.’’The singlet will appear during next graphics update.’ ’’;
B_DTLsinglet2 := B_DTLsinglet2old;ELSEIF 1=1;
WRITE 6 ’’’The new DTL singlet (DTLSINGLET2) downstream of the DTL doublet will not’’be used for focusing any more. Also it will disappear during next’’graphics update.’ ’’;
B_DTLsinglet2old := B_DTLsinglet2;B_DTLsinglet2 := 0;
ENDIF;ELSEIF next_step=88; WRITE 6 ’do you need’
’ - just a hint : 1’’ - verbose help : 2’;
READ 5 next_step;IF next_step=1;
WRITE 6 ’’’Come on, get real! There is no help here!’’’;
ELSEIF next_step=2;WRITE 6 ’’
’Look, who should spend the time to implement a help system for this’’software? Got my point? I’’m sorry, but you have to face the fact:’’There is no help here!’
’’;ENDIF;next_step := 0;
ENDIF;ENDWHILE;WRITE 6 ’ bye ;D’;WRITE 6 ’ ’;
ENDPROCEDURE; RUNRUN; main programEND;
Appendix B
trackmir.cpp
This code generates three sources of electrons, track them in the electrostatic mirror
using Garfield and analyze their spatial distribution in the plane where it is supposed
to the be the front MCP surface.
/* Routine to manage an input file for Gafield-9 and analyze its output using ROOT. */#include <cmath>#include <stdio.h> /* printf, scanf, puts, NULL */#include <stdlib.h> /* srand, rand */#include <time.h> /* time */#include <iostream>#include <iomanip>#include <string>#include <fstream>#include <sstream>#include <unistd.h>#define pi 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214#define m_e 0.5109989461 // in MeV/c^2)#define c 299792458 // in m/s
using namespace std;
int main ()
double vfoil,vmirror,vdeac,rdangle1,rdangle2,rdangle3,rdangle4,fangle1,angle2,dfg,defg,dtm,dtmx,dtmy, mu1,mu2,sigma1,sigma2,max1,max2, rdenergy1,rdenergy2,rdenergy3,rdenergy4,fenergy1,fenergy2, e_z,e_y,e_vx,e_vy,e_vz,e_v,r,theta,rdang1,rdang2,rdang3,rdang4,rdang5,rdang6,rdang7,rdang8,rden1,rden2,rden3,rden4,fang1,fang2,fen1,ev,evx,evy,evz;int nel,m,tim,n,nz;
/* initialize random seed: */srand (time(NULL));puts ("3 points in y-direction are the sources of electrons");puts (" ");printf ("Carbon foil potential (V): ");scanf ("%lf",&vfoil);printf ("Distance between carbon foil and ac grid (cm): ");scanf ("%lf",&dfg);defg = dfg-0.008;printf ("Mirror grid potential (V): ");scanf ("%lf",&vmirror);printf ("Distance between toblerone and mirror grid (cm): ");scanf ("%lf",&dtm);dtmx=4.0+dtm/sqrt(2);dtmy=4.0-dtm/sqrt(2);printf ("Front MCP potential (V): ");scanf ("%lf",&vdeac);printf ("Number of electrons per point: ");scanf ("%d",&nel);tim = round(60*(3*nel+60)/(60*60));printf ("Please be patient, it’ll take more than %d minutes",tim);
usleep(1000 * 1000 * 4);puts (" ");
string V_mirror;stringstream vconvert1;vconvert1 << vmirror;V_mirror = vconvert1.str();
string V_foil;stringstream vconvert2;vconvert2 << vfoil;V_foil = vconvert2.str();
string V_deac;stringstream vconvert3;vconvert3 << vdeac;V_deac = vconvert3.str();
// Xf POSITION RESOLUTION
string name1 = "thesis_foil" + V_foil + "V_mirror" + V_mirror + "V.dat";ofstream data1;data1.open (name1.c_str());data1.close();
string name2 = "Garfield-thesis_foil" + V_foil + "V_mirror" + V_mirror+ "V";
148
Appendix B. trackmir.cpp 149
ofstream garf1;garf1.open (name2.c_str());
string name0 = "Garfinput-thesis_foil" + V_foil + "V_mirror" + V_mirror + "V.in";ofstream garf0;garf0.open (name0.c_str());garf0 << left << "1" << endl;garf0 << left << " " << endl;garf0 << left << "< " + name2 << endl;garf0 << left << "&exit" << endl;garf0.close();
//CELLgarf1 << left << "&CELL" << endl;garf1 << left << "Global vin = 0" << endl;garf1 << left << "Global vgrid = " + V_mirror << endl;garf1 << left << "Global vfoil = " + V_foil << endl;garf1 << left << "Global vdeac = " + V_deac << endl;garf1 << left << "nebem target-elem-size 0.00005 max-elem 4" << endl;garf1 << left << "solids" << endl;//WIRE blockgarf1 << left << "For i_1 From -4 Step 0.1 To 4 Do" << endl;garf1 << left << " wire centre 0.0 4.0 i_1 ..." << endl;garf1 << left << " direction 0 1 0 ..." << endl;garf1 << left << " radius 0.001 ..." << endl;garf1 << left << " half-length 4.0 ..." << endl;garf1 << left << " voltage vin ..." << endl;garf1 << left << " conductor-3" << endl;garf1 << left << "Enddo" << endl;garf1 << left << "For i_2 From -3.4 Step 0.1 To 3.4 Do" << endl;garf1 << left << " wire centre 4.0 4.0 i_2 ..." << endl;garf1 << left << " direction 1 1 0 ..." << endl;garf1 << left << " radius 0.001 ..." << endl;garf1 << left << " half-length 5.65 ..." << endl;garf1 << left << " voltage vin ..." << endl;garf1 << left << " conductor-3" << endl;garf1 << left << "Enddo" << endl;garf1 << left << "For i_2 From -3.4 Step 0.1 To 3.4 Do" << endl;garf1 << left << " wire centre "<<dtmx<<" "<<dtmy<<" i_2 ..." << endl;garf1 << left << " direction 1 1 0 ..." << endl;garf1 << left << " radius 0.001 ..." << endl;garf1 << left << " half-length 5.65 ..." << endl;garf1 << left << " voltage vgrid ..." << endl;garf1 << left << " conductor-3" << endl;garf1 << left << "Enddo" << endl;garf1 << left << "For i_2 From -3.4 Step 0.1 To 3.4 Do" << endl;garf1 << left << " wire centre 4.0 8.0 i_2 ..." << endl;garf1 << left << " direction 1 0 0 ..." << endl;garf1 << left << " radius 0.001 ..." << endl;garf1 << left << " half-length 4.0 ..." << endl;garf1 << left << " voltage vin ..." << endl;garf1 << left << " conductor-3" << endl;garf1 << left << "Enddo" << endl;garf1 << left << "For i_2 From -4.0 Step 0.1 To 4.0 Do" << endl;garf1 << left << " wire centre 4.35 8.6 i_2 ..." << endl;garf1 << left << " direction 1 0 0 ..." << endl;garf1 << left << " radius 0.001 ..." << endl;garf1 << left << " half-length 4.0 ..." << endl;garf1 << left << " voltage vdeac ..." << endl;garf1 << left << " conductor-3" << endl;garf1 << left << "Enddo" << endl;//BOX blockgarf1 << left << " box centre 4.05 4.0 3.71 ..." << endl;garf1 << left << " half-length 4.0 4.0 0.3 ..." << endl;garf1 << left << " voltage vin ..." << endl;garf1 << left << " conductor-1" << endl;garf1 << left << " box centre 4.05 4.0 -3.71 ..." << endl;garf1 << left << " half-length 4.0 4.0 0.3 ..." << endl;garf1 << left << " voltage vin ..." << endl;garf1 << left << " conductor-1" << endl;garf1 << left << " box centre -"<<dfg<<" 4.0 0.0 ..." << endl;garf1 << left << " half-length 0.005 4.0 4.0 ..." << endl;garf1 << left << " voltage vfoil ..." << endl;garf1 << left << " conductor-1" << endl;garf1 << left << " hole centre 4.0 4.0 0.0 ..." << endl;garf1 << left << " radius 20.0 ..." << endl;garf1 << left << " half-length 30.0 30.0 30.0 ..." << endl;garf1 << left << " voltage vin ..." << endl;garf1 << left << " conductor-1" << endl;garf1 << left << " " << endl;
//GASgarf1 << left << "&GAS" << endl;garf1 << left << "arg-50-eth-50" << endl;garf1 << left << "gas-id \"Vacuum\"" << endl;garf1 << left << " " << endl;
//DRIFTgarf1 << left << "&DRIFT" << endl;garf1 << left << "integration-parameters integration-accuracy 1e-4" << endl;garf1 << left << "area -3 0.0 -4.0 10.0 8.5 4.0 view z=0 3d" << endl;garf1 << left << "Call plot_drift_area" << endl;garf1 << left << "> " + name1 << endl;garf1 << left << "Say \"Drift-Time Path-length Z-end X-end Z-start Y-start\"" << endl;n = 3;nz = -1;puts ("Working...");do m = 1;do
//puts ("Generating random theta 0 to pi");do rdang1 = rand() % 10000 + 1;rdang2 = pi*rdang1/10000;rdang3 = rand() % 10000 + 1;rdang4 = rdang3/10000;fang1 = sin(rdang2);while(rdang4>fang1);//puts ("Generating random phi 0 to pi/2 or 3pi/2 to 2pi");do rdang5 = rand() % 10000 + 1;rdang6 = pi*rdang5/10000-pi/2;//puts ("Choose phi following the electrons angular gaussian distribution");rdang7 = rand() % 10000 + 1;
Appendix B. trackmir.cpp 150
rdang8 = 0.8*rdang5/10000;fang2=(1/((pi/6)*sqrt(2*pi)))*exp(-(pow((rdang6),2))/(2*pow(pi/6,2)));while(rdang8>fang2);
//puts ("Generating random energy 0 to 20eV");do rden1 = rand() % 10000 + 1;rden2 = 10*rden1/10000;rden3 = rand() % 10000 + 1;rden4 = 0.1*rden3/10000;fen1 = (1/(4*sqrt(2*pi)))*exp(-(pow((rden2-4),2))/(2*pow(4,2)));while(rden4>fen1);
//puts ("Calculating x,y,z velocities");ev = 59.3*sqrt(rden2);evx = ev*cos(rdang2);evy = ev*sin(rdang2)*sin(rdang6);evz = ev*sin(rdang2)*cos(rdang6);
garf1 << left << "Call drift_electron_vacuum(-"<<defg<<"," << n << "," << nz << ", " << evx << "," << evy << "," << evz << ", status, time)" << endl;garf1 << left << "Call drift_information( \"Drift-time\", time , \"Path-length\", path , \"Z-end\", zf , \"X-end\", xf , \"Z-start\", zi , \"Y-end\", yf )" << endl;garf1 << left << "Say \"time path zf xf zi yf\"" << endl;garf1 << left << "Call plot_drift_line" << endl;
m = m+1; while (m<=nel);n = n+1;nz = nz+1; while (n<=5);puts ("End of random generators...");
garf1 << left << ">" << endl;garf1 << left << "Call plot_end" << endl;garf1.close();
// Running Garfield-9 inputusleep(1000 * 1000 * 2); //wait for 2 seconds
string name0g = "./garfield-9 < " + name0;system(name0g.c_str());
// Reading Garfield output and making graphsstring nel1;stringstream enel;enel << 3*nel+9;nel1 = enel.str();
//Creating histogram with data from Garfield
string h1xf = "Xf_f" + V_foil + "V_m" + V_mirror + "Vth.dat";ofstream myh1xf;myh1xf.open (h1xf.c_str());
int liner=1;ifstream Effici (name1.c_str());string line;while (getline(Effici,line))
istringstream Eff(line);if (liner>=10)
double b1, b2, b3, b4, b5, b6;if (!(Eff >> b1 >> b2 >> b3 >> b4 >> b5 >> b6)) break; Eff >> b1 >> b2 >> b3 >> b4 >> b5 >> b6; // extracts the floating point values seperated by whitespaceif (b6<8.1)else if (b6>8.1)if (b4>7.5)else if (b4<0.5)else if (0.5<b4<7.5)myh1xf << left << b4 << endl;
++liner;
myh1xf.close();
//ROOT file to generate a histogram for Xf and fit gaussians to the peaks
string Th1xf = "rootXf_foil" + V_foil + "V_mirror" + V_mirror + "Vth.c";ofstream myTh1xf;myTh1xf.open (Th1xf.c_str());myTh1xf << left << "" << endl;myTh1xf << left << " FILE *fp;" << endl;myTh1xf << left << " int i,n;" << endl;myTh1xf << left << " int numChars = 0; // number of all symbols" << endl;myTh1xf << left << " int numLines = 0; // number of all lines" << endl;myTh1xf << left << " char buff[512];//array for symbols input" << endl;myTh1xf << left << " size_t num;" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " float last_max_Xvalue = -9999.;" << endl;myTh1xf << left << " float max_Xvalue;" << endl;myTh1xf << left << " float last_min_Xvalue = 9999.;" << endl;myTh1xf << left << " float min_Xvalue;" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " char * filename = \"" + h1xf + "\";" << endl;myTh1xf << left << " fp = fopen(filename,\"r\");" << endl;myTh1xf << left << " if (fp == 0) //file not found" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " printf(\"Unable to open file. Terminating...\n\");" << endl;myTh1xf << left << " exit(1);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " while ((num = fread(buff,1,512,fp)) > 0) //reading 512-symbols block. num is the number of read symbols." << endl;myTh1xf << left << " " << endl;myTh1xf << left << " for (i=0;i<num;++i)" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " if (buff[i] == ’\n’)" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " ++numLines;" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " " << endl;myTh1xf << left << " " << endl;myTh1xf << left << " fclose(fp);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " const int numL = numLines;" << endl;myTh1xf << left << " float x[numL];" << endl;
Appendix B. trackmir.cpp 151
myTh1xf << left << " " << endl;myTh1xf << left << " fp = fopen(filename,\"r\");" << endl;myTh1xf << left << " for(i=0;i<numL;i++)" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " fscanf(fp,\"%f\",&x[i]);" << endl;myTh1xf << left << " max_Xvalue = (x[i] >= last_max_Xvalue) ? x[i] : last_max_Xvalue;" << endl;myTh1xf << left << " last_max_Xvalue=max_Xvalue;" << endl;myTh1xf << left << " min_Xvalue = (x[i] <= last_min_Xvalue) ? x[i] : last_min_Xvalue;" << endl;myTh1xf << left << " last_min_Xvalue=min_Xvalue;" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " fclose(fp);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " printf(\"Number of lines in file = %i\n\tMin X value = %f\n\tMax X value = %f\n\",numLines,min_Xvalue,max_Xvalue);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " g = new TF1(\"m\",\"[0]/(sqrt(2*pi*[1]^2)*exp((x-[2])^2/(2*[1]^2)))+[3]/(sqrt(2*pi*[4]^2)*exp((x-[5])^2/(2*[4]^2)))+[6]/(sqrt(2*pi*[7]^2)*exp((x-[8])^2/(2*[7]^2)))\",3,7);" << endl;myTh1xf << left << " g->SetParameter(2,3.55);" << endl;myTh1xf << left << " g->SetParameter(5,4.55);" << endl;myTh1xf << left << " g->SetParameter(8,5.55);" << endl;myTh1xf << left << " g->SetParameter(1,0.15);" << endl;myTh1xf << left << " g->SetParameter(4,0.15);" << endl;myTh1xf << left << " g->SetParameter(7,0.15);" << endl;myTh1xf << left << " g->SetParameter(0,50);" << endl;myTh1xf << left << " g->SetParameter(3,50);" << endl;myTh1xf << left << " g->SetParameter(6,50);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " TH1F* h = new TH1F(\"myhisto\",\"Histo name;X values description\",100,min_Xvalue-1.,max_Xvalue+1.);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " for (i=0;i<numL;i++) //filling histo" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " h->Fill(x[i],1.);" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " " << endl;myTh1xf << left << " //Define the parameter array for the total function" << endl;myTh1xf << left << " Double_t par[12];" << endl;myTh1xf << left << " //Fit each function and add it to the list of functions" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " h->Draw(); //drawing histo" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " TFile f(\"Xf_f" + V_foil + "V_m" + V_mirror + "Vth.root\",\"recreate\");" << endl;myTh1xf << left << " h->Write();" << endl;myTh1xf << left << " f.Close();" << endl;myTh1xf << left << " " << endl;myTh1xf << left << " return 0;" << endl;myTh1xf << left << "" << endl;myTh1xf.close();
string Th1xfg = "root -l " + Th1xf;system(Th1xfg.c_str());
// Zf POSITION RESOLUTION
//Creating histogram with data from Garfield
string h1zf = "Zf_f" + V_foil + "V_m" + V_mirror + "Vth.dat";ofstream myh1zf;myh1zf.open (h1zf.c_str());
int lin=1;ifstream Effic (name1.c_str());string linez;while (getline(Effic,linez))
istringstream Effz(linez);if (lin>=10)
double b1, b2, b3, b4, b5, b6;if (!(Effz >> b1 >> b2 >> b3 >> b4 >> b5 >> b6)) break; Effz >> b1 >> b2 >> b3 >> b4 >> b5 >> b6; // extracts the floating point values seperated by whitespaceif (b6<8.1)else if (b6>8.1)if (b4>7.5)else if (b4<0.5)else if (0.5<b4<7.5)myh1zf << left << b3 << endl;
++lin;
myh1zf.close();
//ROOT file to generate a histogram for Xf and fit gaussians to the peaks
string Th1zf = "rootZf_foil" + V_foil + "V_mirror" + V_mirror + "Vth.c";ofstream myTh1zf;myTh1zf.open (Th1zf.c_str());myTh1zf << left << "" << endl;myTh1zf << left << " FILE *fp;" << endl;myTh1zf << left << " int i,n;" << endl;myTh1zf << left << " int numChars = 0; // number of all symbols" << endl;myTh1zf << left << " int numLines = 0; // number of all lines" << endl;myTh1zf << left << " char buff[512];//array for symbols input" << endl;myTh1zf << left << " size_t num;" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " float last_max_Xvalue = -9999.;" << endl;myTh1zf << left << " float max_Xvalue;" << endl;myTh1zf << left << " float last_min_Xvalue = 9999.;" << endl;myTh1zf << left << " float min_Xvalue;" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " char * filename = \"" + h1zf + "\";" << endl;myTh1zf << left << " fp = fopen(filename,\"r\");" << endl;myTh1zf << left << " if (fp == 0) //file not found" << endl;myTh1zf << left << " " << endl;
Appendix B. trackmir.cpp 152
myTh1zf << left << " printf(\"Unable to open file. Terminating...\n\");" << endl;myTh1zf << left << " exit(1);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " while ((num = fread(buff,1,512,fp)) > 0) //reading 512-symbols block. num is the number of read symbols." << endl;myTh1zf << left << " " << endl;myTh1zf << left << " for (i=0;i<num;++i)" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " if (buff[i] == ’\n’)" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " ++numLines;" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " " << endl;myTh1zf << left << " " << endl;myTh1zf << left << " fclose(fp);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " const int numL = numLines;" << endl;myTh1zf << left << " float x[numL];" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " fp = fopen(filename,\"r\");" << endl;myTh1zf << left << " for(i=0;i<numL;i++)" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " fscanf(fp,\"%f\",&x[i]);" << endl;myTh1zf << left << " max_Xvalue = (x[i] >= last_max_Xvalue) ? x[i] : last_max_Xvalue;" << endl;myTh1zf << left << " last_max_Xvalue=max_Xvalue;" << endl;myTh1zf << left << " min_Xvalue = (x[i] <= last_min_Xvalue) ? x[i] : last_min_Xvalue;" << endl;myTh1zf << left << " last_min_Xvalue=min_Xvalue;" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " fclose(fp);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " printf(\"Number of lines in file = %i\n\tMin X value = %f\n\tMax X value = %f\n\",numLines,min_Xvalue,max_Xvalue);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " g = new TF1(\"m\",\"[0]/(sqrt(2*pi*[1]^2)*exp((x-[2])^2/(2*[1]^2)))+[0]/(sqrt(2*pi*[3]^2)*exp((x-[4])^2/(2*[3]^2)))+[0]/(sqrt(2*pi*[5]^2)*exp((x-[6])^2/(2*[5]^2)))\",-3,3);" << endl;myTh1zf << left << " g->SetParameter(2,-1);" << endl;myTh1zf << left << " g->SetParameter(4,0.2);" << endl;myTh1zf << left << " g->SetParameter(6,1.2);" << endl;myTh1zf << left << " g->SetParameter(1,0.4);" << endl;myTh1zf << left << " g->SetParameter(3,0.4);" << endl;myTh1zf << left << " g->SetParameter(5,0.4);" << endl;myTh1zf << left << " g->SetParameter(0,80);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " TH1F* h = new TH1F(\"myhisto\",\"Histo name;X values description\",100,min_Xvalue-1.,max_Xvalue+1.);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " for (i=0;i<numL;i++) //filling histo" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " h->Fill(x[i],1.);" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " " << endl;myTh1zf << left << " //Define the parameter array for the total function" << endl;myTh1zf << left << " Double_t par[12];" << endl;myTh1zf << left << " //Fit each function and add it to the list of functions" << endl;myTh1zf << left << " h->Fit(g,\"R\");" << endl;myTh1zf << left << " h->Fit(g,\"R\");" << endl;myTh1zf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1zf << left << " h->Fit(g,\"R\");" << endl;myTh1zf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1xf << left << " h->Fit(g,\"R\");" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " h->Draw(); //drawing histo" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " TFile f(\"Zf_f" + V_foil + "V_m" + V_mirror + "Vth.root\",\"recreate\");" << endl;myTh1zf << left << " h->Write();" << endl;myTh1zf << left << " f.Close();" << endl;myTh1zf << left << " " << endl;myTh1zf << left << " return 0;" << endl;myTh1zf << left << "" << endl;myTh1zf.close();
string Th1zfg = "root -l " + Th1zf;system(Th1zfg.c_str());
// Show time and date at the end.time_t rawtime;struct tm * timeinfo;time (&rawtime);timeinfo = localtime (&rawtime);printf ("Current local time and date: %s", asctime(timeinfo));usleep(1000 * 1000 * 2); //wait for 2 secondsputs (" ");puts (":D");puts (" ");
return 0;
Appendix C
Technical drawings of the
electrostatic mirror
153
Appendix C. Technical drawings of the mirror 154
1
1
2
2
A A
B B
SHEET 1 OF 1
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m1
TITLE
SIZE
ASCALE
REV
1 : 1
11.0
0
5.50
M5x0.8 - 6H 4.5010.00
25.00
M2x0.4 - 6H 4.00
M2x0.4 - 6H 4.00
40.00
3.15 6.00
6.01
9.90
80.0
0
M2x0.4 - 6H 6.00 M2x0.4 - 6H 6.00
Figure C.1
Appendix C. Technical drawings of the mirror 155
1
1
2
2
A A
B B
SHEET 1 OF 1
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m2
TITLE
SIZE
ASCALE
REV
1 : 1
80.0
0
80.00
60.00
60.0
010.00
.22
11.00
3.00
10.0
0
2.00 THRU
Figure C.2
Appendix C. Technical drawings of the mirror 156
1
1
2
2
A A
B B
SHEET 1 OF 1
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m3
TITLE
SIZE
ASCALE
REV
1 : 1
80.00
80.0
0
5.50
11.00 3.00
65.00
45.00
35.00 25.003.
00
2.00 THRU
1.00 THRU
Figure C.3
Appendix C. Technical drawings of the mirror 157
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m4
TITLE
SIZE
ASCALE
REV
1 : 1
115.00
80.0
0
60.0
0
85.00
20.00
10.00
10.0
0
9.50
15.00
3.00
Figure C.4
Appendix C. Technical drawings of the mirror 158
1
1
2
2
A A
B B
SHEET 1 OF 1
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m5
TITLE
SIZE
ASCALE
REV
1 : 1
80.0
0
80.00
1.00
1.50
10.50
5.5011.003.
00
40.00
40.0010
.50
59.0059
.00
Figure C.5
Appendix C. Technical drawings of the mirror 159
1
1
2
2
A A
B B
SHEET 1 OF 1
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m6
TITLE
SIZE
ASCALE
REV
1 : 1
25.00
10.0
0
5.00
5.00
5.00
5.50
Figure C.6
Appendix C. Technical drawings of the mirror 160
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m7
TITLE
SIZE
ASCALE
REV
1 : 1
100.00
10.0
05.
00
5.00
20.00
5.00
15.00
5.50 4.50
Figure C.7
Appendix C. Technical drawings of the mirror 161
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m8
TITLE
SIZE
ASCALE
REV
1 : 1
90.0
0
30.00
10.00
10.0
0
5.00
5.00
35.0
0
5.00
20.0
0
5.00
5.00
M4x0.7 - 6H 13.00
M4x0.7 - 6H 15.00
M4x0.7 - 6H 13.00
Figure C.8
Appendix C. Technical drawings of the mirror 162
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m9
TITLE
SIZE
ASCALE
REV
1 : 1
30.0
0
50.00
4.00
5.00
15.007.
00
10.0
0
15.0
0
5.0025.00
20.00
Figure C.9
Appendix C. Technical drawings of the mirror 163
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m10
TITLE
SIZE
ASCALE
REV
1 : 1
30.0
0
7.80M4x0.7 - 6H 10.00
Figure C.10
Appendix C. Technical drawings of the mirror 164
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m11
TITLE
SIZE
ASCALE
REV
1 : 1
6.00
80.00
9.00
5.50 11.00
3.00
4.00 5.00 2.00 THRU R1.00
R2.00
R1.00
Figure C.11
Appendix C. Technical drawings of the mirror 165
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
m12
TITLE
SIZE
ASCALE
REV
1 : 1
6.00
115.
00
9.00
3.00
9.5015
.00
2.00 THRU
4.00 2.00
R1.00
R2.00
2.00 THRU
Figure C.12
Appendix D
Technical drawings of the welding
tools
166
Appendix D. Technical drawings of the welding tools 167
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
AA
BB
CC
DD
SHEE
T 1
OF
1
DRAW
N
CHEC
KED
QA MFG
APPR
OVED
jgdu
arte
10/2
4/20
18
DWG
NO
Tess
etric
e1
TITL
E
SIZE D
SCAL
E
REV
1 : 1
31.00
281.
00
10.50
52.0
0
11.00
6.00
25.5
0
130.
00
130.00
11.0
0
20.5
0
5.00
6.00
15.00
21.00
50.0
0
31.0
0
15.00
6.
60
4.
50
R1.7
0
R8.0
0
Figure D.1
Appendix D. Technical drawings of the welding tools 168
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
PCB-Tessetrice
TITLE
SIZE
ASCALE
REV
1 : 1
140.
00140.00
120.
00
120.00
10.00
5.00
5.002.00
10.0
0
M3x0.5
M3x0.5
4.50 THRU
Figure D.2
Appendix D. Technical drawings of the welding tools 169
1
1
2
2
A A
B B
SHEET 2 OF 2
DRAWN
CHECKED
QA
MFG
APPROVED
jgduarte 10/24/2018
DWG NO
Striscia-tessetrice
TITLE
SIZE
ASCALE
REV
1 : 1
2.00
10.00
140.
00
5.00
11.0
0
5.00
4.50 THRU
3.40 THRU 6.30 X 90.0°
Figure D.3
Appendix D. Technical drawings of the welding tools 170
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
AA
BB
CC
DD
SHEE
T 1
OF
2
DRAW
N
CHEC
KED
QA MFG
APPR
OVED
jgdu
arte
10/2
4/20
18
DWG
NO
Harp
-sup
port
TITL
E
SIZE D
SCAL
E
REV
1 : 1
120.
00
120.00
140.00
R15.
00 9.
00
30.0
0
5.00
5.00
R15.
00
R9.2
5
19.06
10.0047.50
20.00
10.0
0
10.0
0
40.0
070
.00
R15.
00
Figure D.4
Appendix E
Technical drawings of the MWPC
detector
Figure E.1
171
Appendix E. Technical drawings of MWPC 172
Figure E.2
Figure E.3
Appendix E. Technical drawings of MWPC 173
11
22
33
44
55
66
77
88
DD
CC
BB
AA
PjTitle
1.0
12/1
0/20
1612
:07:
28
Trac
kDet
ecto
r.Sch
Doc
Size
:by
Dat
e:
File
Rev:
Shee
tof
Tim
e:A
3
NAPO
LI
11
PjD
raw
nBy
Shee
t[No
Var
iatio
ns]
Var
:
C42
40pF
C41
80pF
C40
C39
C38
C37
C36
C35
C34
C33
C32
C31
C30
C29
C28
C27
C26
C25
C24
C23
C22
C21
C20
C19
C18
C17
C16
C15
C14
C13
C12
C11
C10
C9
C8
C7
C6
C5
C4
C3
C2
C1
L41
200n
HL3
9L3
8L3
7L3
6L3
5L3
4L3
3L3
2L3
1L3
0L2
9L2
8L2
7L2
6L2
5L2
4L2
3L2
2L2
1L2
0L1
9L1
8L1
7L1
6L1
5L1
4L1
3L1
2L1
1L1
0L9
L8L7
L6L5
L4L3
L2L1
L40
1%R3820K
1JF
1
1
JF2
1
JF3
1
JF4
1
JF5
1
JF6
1
JF7
1
JF8
1
JF9
1
JF10
1
JF11
1
JF12
1
JF13
1
JF14
1
JF15
1
JF16
1
JF17
1
JF18
1
JF19
1
JF20
1
JF21
1
JF22
1
JF23
1
JF24
1
JF25
1
JF26
1
JF27
1
JF28
1
JF29
1
JF30
1
JF31
1
JF32
1
JF33
1
JF34
1
JF35
1
JF36
1
JF37
1
JF38
1
JF39
1
JF40
1
JF41
L42
200n
H
C43
40pF
Fidu
1
Fidu
cial
50
Fidu
2
Fidu
cial
50
Fidu
3
Fidu
cial
50
0.1%R1 5
0.1%R2 5
1 J11
J2
1J2
GN
D1 J1
GN
D
Figure E.4
Appendix E. Technical drawings of MWPC 174
Figure E.5
Figure E.6
Appendix E. Technical drawings of MWPC 175
Figure E.7
Appendix F
Preliminary tests of MWPC
During preliminary tests with the setup illustrated in fig. F.1, for dw−>a = 3.4 mm,
da−>c = 2.1 mm, Uwindow = -200 V, Ucathode = -200 V, pchamber = 8 mbar (Isobutane),
using an alpha source of (239Pu + 241Am) and observing the signals in the oscilloscope,
the only way to see the signals from the anode was by a silicon detector pre-amplifier,
the Canberra 2003BT that has a strong signal integration with charge output signals
rise time of the order of µs which is 3 orders of magnitude higher than the required one.
Figure F.1: Voltage divider circuit used to match the MCPs resistance.
At Uanode = 260 V we start seeing some signals of 5 to 15 mV amplitude directly from
the pre-amplifier charge output, and at Uanode = 350 V there were some discharges.
After opening the chamber, better isolating the conductive surfaces of the PCBs with
heat resistant silicone glass fabric and increasing the distances to dw−>a = 4.8 mm,
da−>c = 3.6 mm, and keeping Uwindow = -200 V, Ucathode = -200 V and pchamber = 8
176
Appendix F. Preliminary tests of MWPC 177
mbar, we achieved Uanode = 450 V without discharges with signal amplitude of 200 mV,
and rise time of 4 µs. At this point we removed the Canberra 2003BT pre-amplifier and
installed an external decoupler from Tektronix illustrated in fig. F.2 to apply voltage in
the anode and extract the signals sending them to the FTA820. However, a huge noise
with amplitude ranging from -300 mV to 46 mV of high frequency showed up. Then I
decided to go a bit deeper an investigate the source of the noise.
Figure F.2: Decoupler box 011-0081-00 made by Tektronix.
F.1 Investigating the source of the noise
• Crates NIM turned off; using a LEMO cable directly from the anode exit to the
oscilloscope. Noise amplitude: 1 mV. The same is observed using the decoupler;
• Crate NIM turned on; the as previous test;
• If I turn on and off the light of the room, a 3 mV amplitude noise appears due to
one damaged lamp; after removing the lamp just a small fluctuation is observed
when turning on and off the light;
• Power supply (Ortec 710) on; cathode and window HV channel on; signal cable
directly from the anode; I observe the same noise as before, 1 mV amplitude;
If I introduce the decoupler box without the HV cable, I obtain the same result
as before;
If I connect the HV cable in the decoupler, with the HV channel off, a noise
is introduced. The noise is 2 mV amplitude and frequency of 217 MHz. If the HV
channel is on I see the same noise;
• If instead I change the power supply of the decoupler to the NHQ 214M of Roent-
Dek, I only see a small negative peak of 1 mV, it is coming from the oscilloscope;
• I now bring the signal to the FTA820, and a huge bunch of noises are introduced;
One has 46 mV peak to peak amplitude with 100 MHz;
The other 85 mV peak to peak, with 347 MHz;
Appendix F. Preliminary tests of MWPC 178
• I removed the NIM modules one by one and nothing changed until remove the
power supply (NHQ 214M module) of the decoupler that was biasing the anode,
remaining only the FTA820;
• After removing the power supply of the anode, the 347 MHz disappeared;
• I turned off the pump and recirculating gas system of the chamber and nothing
changed;
• I turned off the backing pump and turbo pump of the pipe where there was the
alpha source and nothing changed;
• Then I moved the HV cable of the decoupler and the 100 MHz noise amplitude
decreased to 18 mV;
• If I remove the decoupler and connect the anode directly to the FTA820, the noise
increases to 30 mV;
• If I remove the HV cable to the cathode and terminate the cathode exit with 50
Ω, the noise amplitude decreases to 26 mV;
• Doing the same for the window exit the noise disappears;
• CONCLUSION: The different noise components were mainly coming from the
power supplies being transmitted through the HV cables;
• Possible solution: decouple the anode exit from high voltage and filter the sig-
nal inside the chamber as close as possible to the detector to avoid the signal
attenuation.
Appendix G
Numerical minimization
This code was written in collaboration with Antonino Di Leva to determine the experi-
mental transport matrix of the ERNA separator.
gROOT->ProcessLine(".L NumericalMinimization.c");
// modifiche dello stile per i graficigStyle->SetOptTitle( kFALSE );gStyle->SetOptStat( kFALSE );
gStyle->SetPadTickX( kTRUE );gStyle->SetPadTickY( kTRUE );
gStyle->SetPadTopMargin(0.045);gStyle->SetPadBottomMargin(0.12);gStyle->SetPadLeftMargin(0.12);gStyle->SetPadRightMargin(0.03);
gStyle->SetTitleSize(.05, "XY");gStyle->SetTitleXOffset(1.05);gStyle->SetTitleYOffset(1.15);gStyle->SetLabelSize(.05, "XY");gStyle->SetLabelOffset(.012, "XY");gStyle->SetStripDecimals( kFALSE );
ROOT::Minuit2::Minuit2Minimizer *myMinimizer = GetMinimizer();
TMatrixD aTmatrix(4, 4, myMinimizer->X());TVectorD theVector_o(4, &myMinimizer->X()[16]);theVector_o.Print();
TVectorD theVector_i(4), theVector_f(4);
TGraphErrors *xfxpf_exp = new TGraphErrors();TGraphErrors *yfypf_exp = new TGraphErrors();TGraph *xfxpf_teo = new TGraph();TGraph *yfypf_teo = new TGraph();TGraph *xixpi_teo = new TGraph();TGraph *yiypi_teo = new TGraph();
for(Int_t vid=0;vid<29;vid++)xfxpf_exp->SetPoint(vid, theExpValues[vid][4], theExpValues[vid][5]);xfxpf_exp->SetPointError(vid, theExpValues[vid][8], theExpValues[vid][9]);yfypf_exp->SetPoint(vid, theExpValues[vid][6], theExpValues[vid][7]);yfypf_exp->SetPointError(vid, theExpValues[vid][10], theExpValues[vid][11]);
theVector_i.SetElements( &theExpValues[vid][0] );theVector_f = aTmatrix*(theVector_i-theVector_o);
xixpi_teo->SetPoint(vid, theVector_i(0), theVector_i(1));yiypi_teo->SetPoint(vid, theVector_i(2), theVector_i(3));
xfxpf_teo->SetPoint(vid, theVector_f(0), theVector_f(1));yfypf_teo->SetPoint(vid, theVector_f(2), theVector_f(3));// theVector.Print();
TArrow anArrow;anArrow.SetArrowSize(.01);
TCanvas *aCanvas = new TCanvas("emittance", "emittance", 600, 800);aCanvas->Divide(1,2);aCanvas->cd(1);xfxpf_teo->SetMarkerStyle(22);xfxpf_teo->SetMarkerColor(2);xixpi_teo->SetMarkerStyle(21);xixpi_teo->SetMarkerColor(4);xfxpf_exp->Draw("AP");xfxpf_teo->Draw("sameP");// xixpi_teo->Draw("sameP");xfxpf_exp->SetTitle("; x_f [mm]; x’_f");xfxpf_exp->GetXaxis()->SetLimits(-7, 7);xfxpf_exp->SetMinimum(-10);xfxpf_exp->SetMaximum( 10);for(Int_t vid=0;vid<29;vid++)
anArrow.DrawArrow(xfxpf_exp->GetX()[vid], xfxpf_exp->GetY()[vid], xfxpf_teo->GetX()[vid], xfxpf_teo->GetY()[vid]);
179
Appendix G. Numerical minimization 180
// anArrow.DrawArrow(xixpi_teo->GetX()[vid], xixpi_teo->GetY()[vid], xfxpf_exp->GetX()[vid], xfxpf_exp->GetY()[vid]);
aCanvas->cd(2);yfypf_teo->SetMarkerStyle(22);yfypf_teo->SetMarkerColor(2);yiypi_teo->SetMarkerStyle(21);yiypi_teo->SetMarkerColor(4);yfypf_exp->Draw("AP");yfypf_teo->Draw("sameP");// yiypi_teo->Draw("sameP");yfypf_exp->SetTitle("; y_f [mm]; y’_f");yfypf_exp->GetXaxis()->SetLimits(-12, 12);yfypf_exp->SetMinimum(-6);yfypf_exp->SetMaximum( 6);for(Int_t vid=0;vid<29;vid++)
anArrow.DrawArrow(yfypf_exp->GetX()[vid], yfypf_exp->GetY()[vid], yfypf_teo->GetX()[vid], yfypf_teo->GetY()[vid]);
#include "Math/Functor.h"#include "Math/IFunction.h"#include "Minuit2/Minuit2Minimizer.h"#include "Riostream.h"#include "TVectorD.h"#include "TSystem.h"#include "Minuit2/Minuit2Minimizer.h"
// x_i xp_i y_i yp_i x_f xp_f y_f yp_f Dx_f Dxp_f Dy_f Dyp_fDouble_t theExpValues[29][12] =
0.000000, 0.000000, 0.000000, 0.000000, -0.168926, 0.790363, 2.320539, 0.564034, 0.294569, 0.354490, 0.421302, 0.501599,0.000000, 0.000000, 0.000000, 0.206250, 0.570069, 0.584173, 2.241038, 0.583551, 0.329947, 0.349846, 0.396092, 0.654285,0.000000, 0.000000, 0.000000, 10.256250, 1.217619, -0.499823, 4.398556, 2.055931, 0.283839, 0.341995, 0.450036, 0.670132,0.000000, 0.000000, 0.000000, 20.306250, 2.632468, 0.094211, 7.196980, 3.029113, 0.260034, 0.351449, 0.392677, 0.550779,0.000000, 0.000000, 0.000000, 30.356250, 6.703190, 0.958194, 8.736118, 4.684738, 0.244628, 0.299651, 0.365205, 0.820212,0.000000, 0.000000, 0.000000, -9.843750, 1.334831, 0.742792, -0.642693, -0.128560, 0.372286, 0.400728, 0.458584, 0.667616,0.000000, 0.000000, 0.000000, -19.893750, 1.768142, -0.340140, -3.421253, -0.780178, 0.388416, 0.379357, 0.451244, 0.541635,0.000000, 0.000000, 0.000000, -29.943750, 3.726243, -0.050572, -6.299582, -1.457819, 0.293237, 0.354457, 0.367572, 0.745543,0.000000, -0.206250, 0.000000, 0.000000, 1.194317, -0.647057, 2.219523, 1.234443, 0.307417, 0.420371, 0.473362, 0.405031,0.000000, -10.256250, 0.000000, 0.000000, 0.791138, -1.760466, 1.661948, 1.206885, 0.228668, 0.370438, 0.563131, 0.507063,0.000000, -20.306250, 0.000000, 0.000000, -0.441640, -4.253019, 1.445676, 1.177476, 0.325157, 0.374542, 0.925216, 0.675428,0.000000, -30.356250, 0.000000, 0.000000, -1.852310, -6.904009, 1.689041, 0.136034, 0.359971, 0.367304, 0.761919, 0.557698,0.000000, 9.843750, 0.000000, 0.000000, 2.234618, 2.309989, 2.166912, 1.191160, 0.376464, 0.362911, 0.414812, 0.501312,0.000000, 19.893750, 0.000000, 0.000000, 1.978771, 5.633003, 3.769825, 0.167284, 0.327630, 0.377584, 0.292367, 0.723106,0.000000, 29.943750, 0.000000, 0.000000, 2.726747, 7.918733, 4.393910, -0.168783, 0.332769, 0.405890, 0.341492, 0.797321,0.000000, -0.145841, 0.000000, 0.145841, 1.353148, 0.702242, 1.986170, 1.311021, 0.336202, 0.386656, 0.471041, 0.514964,0.000000, -7.252391, 0.000000, 7.252200, 0.975068, -1.659461, 3.279214, 2.008979, 0.380378, 0.376930, 0.598564, 0.532128,0.000000, -14.359674, 0.000000, 14.358194, -0.110427, -3.443037, 5.065936, 2.489389, 0.392534, 0.381663, 0.824763, 0.623484,0.000000, -21.468407, 0.000000, 21.463462, -2.622803, -4.856357, 7.065736, 0.888944, 0.367887, 0.331421, 0.979817, 0.699338,0.000000, 6.960695, 0.000000, -6.960526, 0.019395, 2.614428, 0.293177, 0.387374, 0.317184, 0.342865, 0.482762, 0.627125,0.000000, 14.067933, 0.000000, -14.066542, -0.221742, 4.640283, -1.635279, 0.091818, 0.278461, 0.306427, 0.383171, 0.625743,0.000000, 21.176593, 0.000000, -21.171846, 1.586088, 5.962083, -5.136446, 0.913582, 0.256786, 0.310531, 0.412753, 0.709759,0.000000, 0.145841, 0.000000, 0.145841, -0.598117, 0.451556, 1.903621, 0.894232, 0.325420, 0.343023, 0.555812, 0.576905,0.000000, 7.252391, 0.000000, 7.252200, -0.703899, 2.876389, 4.303303, 1.450073, 0.239653, 0.303938, 0.529800, 0.570699,0.000000, 14.359674, 0.000000, 14.358194, 1.661604, 3.654797, 7.293789, 1.225814, 0.286751, 0.324556, 0.415078, 0.568441,0.000000, 21.468407, 0.000000, 21.463462, 3.037991, 5.393847, 11.617661, -0.412923, 0.272253, 0.309518, 0.439831, 0.450919,0.000000, -6.960695, 0.000000, -6.960526, -1.536193, -0.941874, -0.133271, 0.146920, 0.272783, 0.320465, 0.582751, 0.534552,0.000000, -14.067933, 0.000000, -14.066542, -2.454550, -2.623202, -2.109462, -0.543289, 0.295959, 0.328019, 0.652241, 0.538678,0.000000, -21.176593, 0.000000, -21.171846, -4.347382, -4.058669, -4.456350, 0.586458, 0.226252, 0.304234, 1.003855, 0.723537;
Double_t variable[20] = 1., 0., 1., 0.0, 0.8, 0.25, -0.1, -0.1, 0., 0., 0., 0., 0.02, 0.4, 3., 0.05, 0., 0., 0., 0. ;Double_t step[20] = 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ;Bool_t withOffset = kTRUE;
double ChiSquare(const double *aa )
TVectorD x(4), y(4), s(4), o(4), ytheo(4);TMatrixD a(4, 4, aa);
Double_t sum=0, partial;Int_t nlines = 0;
for(Int_t vid=0;vid<29;vid++)x.SetElements( &theExpValues[vid][0] );y.SetElements( &theExpValues[vid][4] );s.SetElements( &theExpValues[vid][8] );o.SetElements( &aa[16] );
ytheo = a*(x-o);
for(Int_t id=0;id<4;id++)sum += pow( (y(id)-ytheo(id))/s(id), 2. );
return sum;
int NumericalMinimization()
gSystem->Load("libMinuit2.so");gSystem->Load("libMathMore");// Choose method upon creation between:// kMigrad, kSimplex, kCombined,// kScan, kFumiliROOT::Minuit2::Minuit2Minimizer aMinimizer( ROOT::Minuit2::kMigrad );
aMinimizer.SetMaxFunctionCalls(1000000);aMinimizer.SetMaxIterations(100000);aMinimizer.SetTolerance(0.001);aMinimizer.SetStrategy(2);
ROOT::Math::Functor f (&ChiSquare, 20);// Double_t variable[16] = 0., 0., 1., 0.2, 0.8, 4., -0.1, 0.002, 0., 0., 0., 0., 0.02, 0.4, 3., 2.5;
aMinimizer.SetFunction(f);
for(Int_t i=0;i<20;i++)aMinimizer.SetVariable(i, Form("par%02d",i), variable[i], step[i]);
cout << "start: f(" << endl;for(Int_t i=0;i<4;i++)
for(Int_t j=0;j<4;j++)cout << Form("%10lf", variable[i*4+j]) << flush;
cout << endl;cout << ")" << endl;
aMinimizer.Minimize();
const Double_t *as = aMinimizer.X();cout << "Minimum: f(" << endl;
Appendix G. Numerical minimization 181
for(Int_t i=0;i<4;i++)for(Int_t j=0;j<4;j++)
cout << Form("%10lf", as[i*4+j]) << flush;cout << endl;
cout << "): " << ChiSquare(as) << endl;
return 0;
ROOT::Minuit2::Minuit2Minimizer* GetMinimizer()
gSystem->Load("libMinuit2.so");gSystem->Load("libMathMore");// Choose method upon creation between:// kMigrad, kSimplex, kCombined,// kScan, kFumiliROOT::Minuit2::Minuit2Minimizer *aMinimizer = new ROOT::Minuit2::Minuit2Minimizer( ROOT::Minuit2::kMigrad );
aMinimizer->SetMaxFunctionCalls(1000000);aMinimizer->SetMaxIterations(100000);aMinimizer->SetTolerance(0.001);aMinimizer->SetStrategy(2);
ROOT::Math::Functor f (&ChiSquare, 20);/* Double_t variable[16] = 0., 0., 1., 0.2, 0.8, 4., -0.1, 0.002, 0., 0., 0., 0., 0.02, 0.4, 3., 2.5; *//* Double_t step[16] = 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01; */
aMinimizer->SetFunction(f);
for(Int_t i=0;i<20;i++)aMinimizer->SetVariable(i, Form("par%02d",i), variable[i], step[i]);
if( !withOffset )for(Int_t i=16;i<20;i++)
aMinimizer->FixVariable( i );
cout << "start: f(" << endl;for(Int_t i=0;i<4;i++)
for(Int_t j=0;j<4;j++)cout << Form("%10lf", variable[i*4+j]) << flush;
cout << endl;cout << ")" << endl;
aMinimizer->Minimize();
const Double_t *as = aMinimizer->X();cout << "Minimum: f(" << endl;for(Int_t i=0;i<5;i++)
for(Int_t j=0;j<4;j++)cout << Form("%10lf", as[i*4+j]) << flush;
cout << endl;cout << "): " << ChiSquare(as) << endl;
return aMinimizer;
References
Adams, A., Shapiro, M. H., Barnes, C. A., Adelberg, E. G., & Denny, W. M.
(1968). (α,γ) reaction on 12C and 18O. Bulletin of the American Physical Soci-
ety , 13 (4), 698. Retrieved from http://aip.libanswers.com/loader.php?fid=
826652&type=0&key=ba49f587f01bef44a1d17ca4703847e3
Agostinelli, S. (2003). Geant4 - toolkit for the simulation of the passage of particles
through matter. Retrieved from https://geant4.web.cern.ch/
Allan, H. R., & Sarma, N. (1955, January). A search for capture processes in alpha-
particle and deuteron bombardments. Proceedings of the Physical Society. Section
A, 68 , 535. Retrieved from https://doi.org/10.1088/0370-1298/68/6/410
Alpher, R. A., Bethe, H., & Gamow, G. (1948, April). The origin of chemical elements.
Physical Review , 73 (7), 803. Retrieved from https://doi.org/10.1103/PhysRev
.73.803
Alpher, R. A., & Herman, R. C. (1950, April). Theory of the origin and relative
abundance distribution of the elements. Reviews of Modern Physics, 22 (2), 153.
Retrieved from https://doi.org/10.1103/RevModPhys.22.153
An, Z.-D., Chen, Z.-P., Ma, Y.-G., Yu, J.-K., Sun, Y.-Y., Fan, G.-T., . . . Wang, K.
(2015, October). Astrophysical S factor of the 12C(α,γ)16O reaction calculated
with reduced r-matrix theory. Physical Review C , 92 (4), 045802. Retrieved from
https://doi.org/10.1103/PhysRevC.92.045802
Arnold, C. W., Tovesson, F., Meierbachtol, K., Bredeweg, T., Jandel, M., Jorgenson,
H. J., . . . Hecht, A. A. (2014, November). Development of position-sensitive
time-of-flight spectrometer for fission fragment research. Nuclear Instruments and
Methods in Physics Reseach A, 764 , 53–58. Retrieved from https://doi.org/
10.1016/j.nima.2014.07.001
Assuncao, M., Fey, M., Lefebvre-Schuhl, A., Kiener, J., Tatischeff, V., Hammer, J. W.,
. . . Weil, J. L. (2006, May). E1 and E2 S factors of 12C(α,γ)16O from γ-ray
angular distributions with a 4π-detector array. Physical Review C , 73 (5), 055801.
Retrieved from https://doi.org/10.1103/PhysRevC.73.055801
Autodesk. (2016). 3d cad software for product development. Retrieved from https://
www.autodesk.com/products/inventor/overview
182
Bibliography 183
Barker, F. C. (1987). The 12C(α,γ)16O cross section at stellar energies. Australian
Journal of Physics, 40 (1), 25–38. Retrieved from https://doi.org/10.1071/
PH870025
Berz, M. (2013). Center for Dynamical Systems, Department of Physics and Astronomy,
Michigan State University (USA). Retrieved from http://www.bt.pa.msu.edu/
index cosy.htm
Bethe, H. A. (1938, March). Energy Production in Stars. Physical Review , 55 (5), 434.
Retrieved from https://doi.org/10.1103/PhysRev.55.434
Bloom, S. D., Toppel, B. J., & Wilkinson, D. H. (1957, October). Isotopic spin selection
rules IX: The 9.58 MeV state of 16O. The Philosophical Magazine: A Journal
of Theoretical Experimental and Applied Physics, 2 (13), 57–60. Retrieved from
https://doi.org/10.1080/14786435708231722
Breskin, A. (1982). Progress in low-pressure gaseous detectors. Nuclear Instruments
and Methods, 196 , 11–21.
Brun, R., & Rademakers, F. (1997, April). ROOT — An object oriented data analysis
framework. Nuclear Instruments and Methods in Physics Reseach A, 389 , 81–86.
Retrieved from https://doi.org/10.1016/S0168-9002(97)00048-X
Brune, C. R. (2001, October). Electric-multipole interference effects in the 12C(α,γ0)16O
reaction. Physical Review C , 64 (5), 055803. Retrieved from https://doi.org/
10.1103/PhysRevC.64.055803
Buchmann, L. (2001, June). Radiative cascade transitions and the 12C(α,γ)16O E2 cross
section to the ground state of 16O. Physical Review C , 64 (2), 022801. Retrieved
from https://doi.org/10.1103/PhysRevC.64.022801
Buchmann, L., Azuma, R. E., Barnes, C. A., Humblet, J., & Langanke, K. (1996, July).
Analysis of the total 12C(α,γ)16O cross section based on available angular distri-
butions and other primary data. Physical Review C , 54 (1), 393–410. Retrieved
from https://doi.org/10.1103/PhysRevC.54.393
Buchmann, L. R., & Barnes, C. A. (2006, October). Nuclear reactions in stellar helium
burning and later hydrostatic burning stages. Nuclear Physics A, 777 (Special Isseu
on Nuclear Astrophysics), 254–290. Retrieved from https://doi.org/10.1016/
j.nuclphysa.2005.01.005
Buompane, R., Cesare, N. D., Leva, A. D., D’Onofrio, A., Gialanella, L., Romano, M.,
. . . Terrasi, F. (2018). Test measurement of 7Be(p,γ)8B with the recoil mass
separator ERNA. The European Physical Journal A, 54 , 92. Retrieved from
https://doi.org/10.1140/epja/i2018-12522-6
Burbidge, E. M., Burbidge, G. R., Fowler, W. A., & Hoyle, F. (1957, October). Synthesis
of the elements in stars. Reviews of Modern Physics, 29 (4), 547. Retrieved from
https://doi.org/10.1103/RevModPhys.29.547
Busch, F., Pfeffer, W., Kohlmeyer, B., Schull, D., & Puhlhoffer, F. (1980, April). A
Bibliography 184
position-sensitive transmission time detector. Nuclear Instruments and Methods,
171 (1), 71–74. Retrieved from https://doi.org/10.1016/0029-554X(80)90011
-7
Charpak, G. (1992, December). Electronic imaging of ionizing radiation with
limited avalanches in gases. Nobel Lecture - NobelPrize.org - Nobel Media
AB 2019 . Retrieved from https://www.nobelprize.org/uploads/2018/06/
charpak-lecture.pdf
Charpak, G. (1993, July). Electronic imaging of ionizing radiation with limited
avalanches in gases. Reviews of Modern Physics, 65 (3), 591–598.
Charpak, G., Bouclier, R., Bressani, T., Favier, J., & Zupancic, C. (1968). The use of
multiwire proportional chambers to select and localize charged particles. Nuclear
Instruments and Methods, 62 , 202–226.
Charpak, G., Rahm, D., & Steiner, H. (1970). Some developments in the operation of
multiwire proportional chambers. Nuclear Instruments and Methods, 80 , 13–35.
deBoer, R., Gorres, J., Wiescher, M., Azuma, R., Best, A., Brune, C., . . . Uberseder,
E. (2017, September). The 12C(α,γ)16O reaction and its implications for stel-
lar helium burning. Reiews of Modern Physics, 89 (3), 035007. Retrieved from
https://doi.org/10.1103/RevModPhys.89.035007
DeCesare, M., DeCesare, N., D’Onofrio, A., Fifield, L. K., Gialanella, L., & Terrasi,
F. (2015, October). Mass and abundance 236U sensitivities at CIRCE. Nuclear
Instruments and Methods in Physics Research Section B: Beam Interactions with
Materials and Atoms, 361 , 483–487. Retrieved from https://doi.org/10.1016/
j.nimb.2015.05.029
DeCesare, M., Gialanella, L., Rogalla, D., Petraglia, A., Guan, Y., DeCesare, N., . . .
Terrasi, F. (2010, April). Actinides AMS at CIRCE in Caserta (Italy). Nuclear
Instruments and Methods in Physics Research Section B: Beam Interactions with
Materials and Atoms, 268 (7-8), 779–783. Retrieved from https://doi.org/10
.1016/j.nimb.2009.10.029
DiLeva, A. (2009). Measurement of 3He(α,γ)7Be cross section with the recoil mass
separator ERNA (Doctoral dissertation, Fakultat fur Physik und Astronomie
der Ruhr-Universitat Bochum). Retrieved from http://www-brs.ub.ruhr-uni
-bochum.de/netahtml/HSS/Diss/DiLevaAntonino/diss.pdf
DiLeva, A., DeCesare, M., Schurmann, D., & et al. (2008, October). Recoil separa-
tor ERNA: Measurement of 3He(α,γ)7Be. Nuclear Instruments and Methods in
Physics Research Section A: Accelerators, Spectrometers, Detectors and Associ-
ated Equipment , 595 (2), 381–390. Retrieved from https://doi.org/10.1016/
j.nima.2008.07.082
DiLeva, A., Imbriani, G., Buompane, R., Gialanella, L., Best, A., Cristallo, S., . . .
Terrasi, F. (2017, April). Measurement of 1323 and 1487 kev resonances in
Bibliography 185
15N(α,γ)19F with the recoil separator erna. Physical Review C , 95 (4), 045803.
Retrieved from https://doi.org/10.1103/PhysRevC.95.045803
Dollinger, G., & Maier-Komor, P. (1991, October). Development of laser plasma
ablation-deposition techniques for carbon stripper foils. Nuclear Instruments and
Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors
and Associated Equipment , 303 (1), 50–58. Retrieved from https://doi.org/
10.1016/0168-9002(91)90763-G
Drexler, C. G., & DuBois, R. D. (1996, March). Energy- and angle-differential yield
of electron emission from thin carbon foils after fast proton impact. Physical
Review A, 53 , 1630–1637. Retrieved from https://doi.org/10.1103/PhysRevA
.53.1630
Dunbar, D. N. F., Pixley, R. E., Wenzel, W. A., & Whaling, W. (1953, November). The
7.68-MeV state in 12C. Physical Review , 92 (3), 649. Retrieved from https://
doi.org/10.1103/PhysRev.92.649
Dyer, P., & Barnes, C. A. (1974, November). The 12C(α,γ)16O reaction and stellar
helium burning. Nuclear Physics A, 233 (2), 495–520. Retrieved from https://
doi.org/10.1016/0375-9474(74)90470-9
EPAPS. (2009). See EPAPS Document N E-PRVCAN-79-032904 for tables of 12C+α
phase shift. Retrieved from http://ftp.aip.org/epaps/phys rev c/E-PRVCAN
-79-032904/
Fontana, C. L., Chen, C.-H., Crespillo, M. L., Graham, J. T., Xue, H., Zhang, Y., & We-
ber, W. J. (2016, January). Stopping power measurements with the Time-of-Flight
(ToF) technique. Nuclear Instruments and Methods in Physics Research Section B ,
366 , 104–116. Retrieved from https://doi.org/10.1016/j.nimb.2015.10.048
Frauenfelder, H. (1955). Angular correlation. In Beta- and gamma-ray spectroscopy.
Frischkorn, H. J., & Groeneveld, K. O. (1983, February). Heavy ion induced electron
emission from solid surfaces. Physica Scripta, T6 , 89–93. Retrieved from https://
doi.org/10.1088/0031-8949/1983/T6/014
Gialanella, L., Rogalla, D., Strieder, F., Theis, S., Gyurki, G., Agodi, C., . . . Trautvetter,
H. (2001). The E1 capture amplitude in 12C(α,γ0)16O. The European Physical
Journal A, 11 , 357–370. Retrieved from https://epja.epj.org/articles/epja/
abs/2001/07/epja1218/epja1218.html
Gialanella, L., & Schurmann, D. (2011, September). Nuclear astrophysics with recoil
mass separators: ERNA and the case of 12C(α,γ)16O. Proceedings of Science - VI
European School on Experimental Nuclear Astrophysics. Retrieved from https://
pos.sissa.it/148/058/pdf
Gialanella, L., Schurmann, D., Strieder, F., DiLeva, A., DeCesare, N., D’Onofrio, A.,
. . . Trautvetter, H. P. (2004, April). Recoil separator ERNA: gas target and beam
suppression. Nuclear Instruments and Methods in Physics Research Section A:
Bibliography 186
Accelerators, Spectrometers, Detectors and Associated Equipment , 522 (3), 432–
438. Retrieved from https://doi.org/10.1016/j.nima.2003.11.386
Gys, T. (2015, July). GEM: A new concept for electron amplification in gas detectors.
Nuclear Instruments and Methods in Physics Reseach A, 787 , 254–260. Retrieved
from https://doi.org/10.1016/j.nima.2014.12.044
Hahn, K. H., Chang, K. H., Donoghue, T. R., & Filippone, B. W. (1987, Septem-
ber). Search for nonresonant capture in the 16O(α,γ)20Ne reaction at low ener-
gies. Physical Review C , 36 , 892. Retrieved from https://doi.org/10.1103/
PhysRevC.36.892
Hoyle, F. (1946, October). The Synthesis of the Elements from Hydrogen. Monthly
Notices of the Royal Astronomical Society , 106 (5), 343–383. Retrieved from
https://doi.org/10.1093/mnras/106.5.343
Hutcheon, D. A., Bishop, S., Buchmann, L., Chatterjee, M. L., Chenb, A. A., D’Auria,
J. M., . . . Wrede, C. (2003, February). The DRAGON facility for nuclear as-
trophysics at TRIUMF-ISAC: design, construction and operation. Nuclear In-
struments and Methods in Physics Research Section A: Accelerators, Spectrom-
eters, Detectors and Associated Equipment , 498 (1-3), 190–210. Retrieved from
https://doi.org/10.1016/S0168-9002(02)01990-3
Iliadis, C. (2007). Nuclear Physics of Stars.
Jagutzki, O., Mergel, V., Ullmann-Pfleger, K., Spielberger, L., Spillmann, U., Dorner,
R., & Schmidt-Bocking, H. (2002, January). A broad-application microchannel-
plate detector system for advanced particle or photon detection tasks: large area
imaging, precise multi-hit timing information and high detection rate. Nuclear
Instruments and Methods in Physics Reseach A, 477 , 244–249. Retrieved from
https://doi.org/10.1016/S0168-9002(01)01839-3
Jaszczak, R. J., Gibbons, J. H., & Macklin, R. L. (1970, July). 12C(α,γ)16O capture
cross section below 3.2 mev. Physical Review C , 2 (1), 63. Retrieved from https://
doi.org/10.1103/PhysRevC.2.63
Jaszczak, R. J., & Macklin, R. L. (1970, December). 12C(α,γ)16O capture cross section
below 4.1 mev. Physical Review C , 2 (6), 2452. Retrieved from https://doi.org/
10.1103/PhysRevC.2.2452
Kettner, K. U., Becker, H. W., Buchmann, L., Gorres, J., Krawinkel, H., Rolfs, C.,
. . . Vlieks, A. (1982, March). The 4He(12C,γ)16O reaction at stellar ener-
gies. Zeitschrift fur Physik A Atoms and Nuclei , 308 (1), 73–94. Retrieved from
https://doi.org/10.1007/BF01415851
Klingelhoefer, G., Wiacker, H., & Kankeleit, E. (1986, June). Measurement of the
detection efficiency of microchannel plates for 1–15 kev electrons. Nuclear In-
struments and Methods in Physics Research Section A: Accelerators, Spectrom-
eters, Detectors and Associated Equipment , 247 (2), 379–384. Retrieved from
Bibliography 187
https://doi.org/10.1016/0168-9002(86)91320-3
Kosev, K. M. (2007). A High-Resolution Time-of-Flight Spectrometer for Fission Frag-
ments and Ion Beams (Doctoral dissertation, Institut fur Kern und Teilchenphysik
- Fakultat Matematik und Naturwissenschaften - Technische Universitat Dresden).
Retrieved from https://d-nb.info/991492773/34
Krane, K. S. (1872, January). Solid-angle correction factors for coaxial Ge-Li detectors.
Nuclear Instruments and Methods, 98 (2), 205–210. Retrieved from https://doi
.org/10.1016/0029-554X(72)90099-7
Kremer, R. M., Barnes, C. A., Chang, K. H., Evans, H. C., Filippone, B. W., Hahn,
K. H., & Mitchell, L. W. (1987, April). Coincidence measurement of the
12C(α,γ)16O cross section at low energies. Physical Review Letters, 60 , 1475.
Retrieved from https://doi.org/10.1103/PhysRevLett.60.1475
Kumagai, H., Ohnishi, T., Fukuda, N., Takeda, H., nd N. Inabe, D. K., Yoshida,
K., & Kubo, T. (2013, December). Development of Parallel Plate Avalanche
Counter (PPAC) for BigRIPS fragment separator. Nuclear Instruments and Meth-
ods in Physics Research Section B: Beam Interactions with Materials and Atoms,
317 (Part B), 717–727. Retrieved from https://doi.org/10.1016/j.nimb.2013
.08.050
Kunz, R., Jaeger, M., Mayer, A., Hammer, J. W., Staudt, G., Harissopulos, S., &
Paradellis, T. (2001, April). 12C(α,γ)16O: The key reaction in stellar nucleosyn-
thesis. Physical Review Letters, 86 (15), 3244. Retrieved from https://doi.org/
10.1103/PhysRevLett.86.3244
Laitinen, M., Rossi, M., Julin, J., & Sajavaara, T. (2014a, October). Secondary electron
flight times and tracks in the carbon foil time pick-up detector. Nuclear Instru-
ments and Methods in Physics Research Section B , 336 , 55–62. Retrieved from
https://doi.org/10.1016/j.nimb.2014.06.014
Laitinen, M., Rossi, M., Julin, J., & Sajavaara, T. (2014b, October). Time-of-flight
– Energy spectrometer for elemental depth profiling – Jyvaskyla design. Nuclear
Instruments and Methods in Physics Research Section B , 337 , 55–61. Retrieved
from https://doi.org/10.1016/j.nimb.2014.07.001
Lamey, M. J. (2004). A microchannel detection system for Dragon (Doctoral dis-
sertation, Department of Physics - Simon Fraser University). Retrieved from
http://dragon.triumf.ca/docs/Lamey thesis.pdf
Larson, J. D., & Spear, R. H. (1964, August). Gamma radiation from the alpha
particle bombardment of 12C. Nuclear Physics, 56 , 497–511. Retrieved from
https://doi.org/10.1016/0029-5582(64)90498-5
Lawson, J. S., & Frauenfelder, H. (1953, August). The correction for finite angular
resolution in directional correlation measurements. Physical Review , 91 (3), 649–
652. Retrieved from https://doi.org/10.1103/PhysRev.91.649
Bibliography 188
Lewis, P. M., Vahsen, S. E., Seong, I. S., Hedges, M. T., Jaegle, I., & Thorpe, T. N.
(2015, July). Absolute position measurement in a gas time projection chamber via
transverse diffusion of drift charge. Nuclear instruments and Methods in Physics
Reseach A, 789 , 81–85. Retrieved from https://doi.org/10.1016/j.nima.2015
.03.024
LumaMetall. (2019). Gold plated tungsten-rhenium wire. Retrieved from https://luma
-metall.com/fine-wire-products/gold-plated-tungsten-rhenium-wire/
Matei, C., Buchmann, L., Hannes, W. R., Hutcheon, D. A., Ruiz, C., Brune, C. R.,
. . . Wrede, C. (2006, December). Measurement of the cascade transition via
the first excited state of 16O in the 12C(α,γ)16O reaction, and its S factor in
stellar helium burning. Physical Review Letters, 97 (24), 242503. Retrieved from
https://doi.org/10.1103/PhysRevLett.97.242503
Meads, R. E., & McIldowie, J. E. G. (1960, September). gamma-rays from 2+ states
in 16O. Proceedings of the Physical Society , 75 (2), 257. Retrieved from https://
doi.org/10.1088/0370-1328/75/2/312
Meierbachtol, K., Tovesson, F., Shields, D., Arnold, C., Blakeley, R., Bredeweg,
T., . . . White, M. (2015, July). The SPIDER fission fragment spectrome-
ter for fission product yield measurements. Nuclear Instruments and Methods
in Physics Reseach A, 788 , 59–66. Retrieved from https://doi.org/10.1016/
j.nima.2015.02.032
Morinaga, H., & Yamazaki, T. (1976). In-beam gamma-ray spectroscopy.
Ouellet, J. M. L., Butler, M. N., Evans, H. C., Lee, H. W., Leslie, J. R., MacArthur,
J. D., . . . Alexander, T. K. (1996, October). 12C(α,γ)16O cross sections at stellar
energies. Physical Review C , 54 (4), 1982–1998. Retrieved from https://doi.org/
10.1103/PhysRevC.54.1982
Ouellet, J. M. L., Evans, H. C., Lee, H. W., Leslie, J. R., MacArthur, J. D., McLatchie,
W., . . . Alexander, T. K. (1992, September). 12C(α,γ)16O cross sections at stellar
energies. Physical Review Letters, 69 (13), 1896. Retrieved from https://doi
.org/10.1103/PhysRevLett.69.1896
Oulebsir, N., Hammache, F., Roussel, P., Pellegriti, M. G., Audouin, L., Beaumel, D.,
. . . Tatischeff, V. (2011, March). Indirect study of the 12C(α,γ)16O reaction via
the 12C(7Li,t)16O transfer reaction. Physical Review C , 85 (3), 035804. Retrieved
from https://doi.org/10.1103/PhysRevC.85.035804
Rapagnani, D. (2017). Towards the determination of the cross section of 12C(α,γ)16O at
astrophysical relevant energies using ERNA (Unpublished doctoral dissertation).
Dipartimento di Fisica e Geologia, XXX Ciclo di Dottorato in Scienza e Tecnologia
la Fisica e la Geologia, Universita degli Studi di Perugia.
Rapagnani, D., Buompane, R., DiLeva, A., Gialanella, L., Busso, M., DeCesare, M.,
. . . Tufariello, F. (2017, September). A supersonic jet target for the cross
Bibliography 189
section measurement of the 12C(α,γ)16O reaction with the recoil mass separa-
tor ERNA. Nuclear Instruments and Methods in Physics Research Section B:
Beam Interactions with Materials and Atoms, 407 , 217–221. Retrieved from
https://doi.org/10.1016/j.nimb.2017.07.003
Rapagnani, D., Buompane, R., DiLeva, A., Gialanella, L., Busso, M., DeCesare, M.,
. . . Tufariello, F. (2018, January). Reprint: A supersonic jet target for the cross
section measurement of the 12C(α,γ)16O reaction with the recoil mass separator
ERNA. Nuclear Instruments and Methods in Physics Research Section B: Beam
Interactions with Materials and Atoms, 414 , 195–198. Retrieved from https://
doi.org/10.1016/j.nimb.2017.11.008
Redder, A., Becker, H. W., Rolfs, C., Trautvetter, H. P., Donoghue, T. R., Rinckel,
T. C., . . . Langanke, K. (1987, January). The 12C(α,γ)16O cross section at stellar
energies. Nuclear Physics A, 462 (2), 385–412. Retrieved from https://doi.org/
10.1016/0375-9474(87)90555-0
RoentDek1. (2017). Mcp delay line detector manual - version 11.0.1803.1 [Com-
puter software manual]. Retrieved from http://www.roentdek.de/manuals/
MCPDelayLinemanual.pdf
RoentDek2. (2017). Power supply manual - version 11.0.1710.1 [Computer software man-
ual]. Retrieved from http://www.roentdek.de/manuals/PowerSupplyManual
Rogalla, D. (2003). Aufbau eines recoil-massenseparators fur die nukleare astrophysik
(construction of a recoil mass separator for nuclear astrophysics) (Doctoral disser-
tation, Fakultat fur Physik und Astronomie der Ruhr-Universitat Bochum). Re-
trieved from http://www-brs.ub.rub.de/netahtml/HSS/Diss/RogallaDetlef/
diss.pdf
Rogalla, D., Aliotta, M., Barnes, C., Campajola, L., D’Onofrio, A., Fritz, E., . . .
Trautvetter, H. (1999, October). Recoil separator ERNA: ion beam specifica-
tions. The Europian Physical Journal A, 6 , 471–477. Retrieved from https://
epja.epj.org/articles/epja/abs/1999/12/epja157/epja157.html
Rogalla, D., Strieder, D. S. F., Aliotta, M., DeCesare, N., DiLeva, A., Lubritto, C.,
. . . Trautvetter, H. P. (2003, November). Recoil separator ERNA: acceptances in
angle and energy. Nuclear Instruments and Methods in Physics Research Section
A: Accelerators, Spectrometers, Detectors and Associated Equipment , 513 (3), 573–
578. Retrieved from https://doi.org/10.1016/j.nima.2003.07.001
Rogalla, D., Theis, S., Campajola, L., D’Onofrio, A., Gialanella, L., Greife, U., . . .
Trautvetter, H. P. (1999, November). Recoil separator ERNA: ion beam purifi-
cation. Nuclear Instruments and Methods in Physics Research Section A: Accel-
erators, Spectrometers, Detectors and Associated Equipment , 437 (2-3), 266–273.
Retrieved from https://doi.org/10.1016/S0168-9002(99)00767-6
Bibliography 190
Rolfs, C. (1973, December). Spectroscopic factors from radiative capture reactions.
Nuclear Physics A, 217 (1), 29–70. Retrieved from https://doi.org/10.1016/
0375-9474(73)90622-2
Rolfs, C. E., & Rodney, W. S. (1988). Cauldrons in the Cosmos.
Rose, H. J., & Brink, D. M. (1967, April). Angular distributions of gamma rays in terms
of phase-defined reduced matrix elements. Reviews of Modern Physics, 39 (2), 306–
347. Retrieved from https://doi.org/10.1103/RevModPhys.39.306
Rose, M. E. (1953, August). The analysis of angular correlation and angular distribution
data. Physical Review , 91 (3), 610–615. Retrieved from http://iopscience.iop
.org/article/10.1086/322288
Roters, G., Rolfs, C., Strieder, F., & Trautvetter, H. P. (1999, August). The E1 and
E2 capture amplitudes in 12C(α,γ0)16O. The European Physical Journal A, 6 ,
451–461. Retrieved from https://epja.epj.org/articles/epja/abs/1999/12/
epja115/epja115.html
Sauli, F. (1997, February). GEM: A new concept for electron amplification in gas
detectors. Nuclear instruments and Methods in Physics Reseach A, 386 , 531–534.
Retrieved from https://doi.org/10.1016/S0168-9002(96)01172-2
Sayre, D. B., Brune, C. R., Carter, D. E., Jacobs, D. K., Massey, T. N., & O’Donnell,
J. E. (2012, October). E2 interference effects in the 12C(α,γ0)16O reaction. Physical
Review Letters, 109 (14), 142501. Retrieved from https://doi.org/10.1103/
PhysRevLett.109.142501
Schurmann, D., DiLeva, A., Gialanella, L., Kunz, R., Strieder, F., DeCesare, N., . . .
Terrasi, F. (2011, September). Study of the 6.05 MeV cascade transition in
12C(α,γ)16O. Physics Letters B , 703 (5), 557–561. Retrieved from https://doi
.org/10.1016/j.physletb.2011.08.061
Schurmann, D., DiLeva, A., Gialanella, L., Rogalla, D., Strieder, F., DeCesare, N., . . .
Trautvetter, H. P. (2005, November). First direct measurement of the total cross-
section of 12C(α,γ)16O. The European Physical Journal A, 26 , 301–305. Retrieved
from https://doi.org/10.1140/epja/i2005-10175-2
Schurmann, D., Gialanella, L., Kunz, R., & Strieder, F. (2012, May). The astrophysical S
factor of 12C(α,γ)16O at stellar energy. Physics Letters B , 711 (1), 35–40. Retrieved
from https://doi.org/10.1016/j.physletb.2012.03.064
Schurmann, D., Strieder, F., DiLeva, A., Gialanella, L., DeCesare, N., D’Onofrio, A.,
. . . Trautvetter, H. P. (2004, October). Recoil separator ERNA: charge state
distribution, target density, beam heating, and longitudinal acceptance. Nuclear
Instruments and Methods in Physics Research Section A: Accelerators, Spectrom-
eters, Detectors and Associated Equipment , 531 (3), 428–434. Retrieved from
https://doi.org/10.1016/j.nima.2004.05.131
Shi, C. R., Toh, H. S., D.Lo, Livi, R. P., Mendenhall, M. H., Zhang, D. Z., & Tombrello,
List of Figures 191
T. A. (1985, June). Secondary electron emission from the entrance and exit surfaces
of thin carbon foils under fast ion bombardment. Nuclear Instruments and Methods
in Physics Research Section B: Beam Interactions with Materials and Atoms, 9 (3),
263–269. Retrieved from https://doi.org/10.1016/0168-583X(85)90749-9
Sobottka, S., & Williams, M. (1988, February). Delay line readout of microchannel
plates. IEEE Transactions on Nuclear Science, 35 (1), 348–351. Retrieved from
https://ieeexplore.ieee.org/document/12740
Terrasi, F., Rogalla, D., DeCesare, N., D’Onofrio, A., Lubritto, C., Marzaioli, F., . . .
Loger, R. (2007, January). A new AMS facility in Caserta/Italy. Nuclear Instru-
ments and Methods in Physics Research Section B: Beam Interactions with Ma-
terials and Atoms, 259 (1), 14–17. Retrieved from https://doi.org/10.1016/
j.nimb.2007.01.139
Tischhauser, P., Couture, A., Detwiler, R., Gorres, J., Ugalde, C., Stech, E., . . . Buch-
mann, L. (2009, May). Measurement of elastic 12C + α scattering: Details of the
experiment, analysis, and discussion of phase shifts. Physical Review C , 79 (5),
055803. Retrieved from https://doi.org/10.1103/PhysRevC.79.055803
Tollestrup, A. V., Fowler, W. A., & Lauritsen, C. C. (1949, August). Energy release
in beryllium and lithium reactions with protons. Physical Review , 76 (3), 428.
Retrieved from https://doi.org/10.1103/PhysRev.76.428.2
Vahsen, S. E., Hedges, M. T., Jaegle, I., Ross, S. J., Seong, I. S., Thorpe, T. N., . . .
Garcia-Sciveres, M. (2015, July). 3-D tracking in a miniature time projection
chamber. Nuclear instruments and Methods in Physics Reseach A, 788 , 95–105.
Retrieved from https://doi.org/10.1016/j.nima.2015.03.009
Veenhof, R. (2009). nebem - a nearly exact boundary element method. Retrieved from
http://nebem.web.cern.ch/nebem/
Veenhof, R. (2010). Garfield - simulation of gaseous detectors. Retrieved from http://
garfield.web.cern.ch/garfield/
Vockenhuber, C., Erikson, L. E., Buchmann, L., Greife, U., Hager, U., Hutcheon, D. A.,
. . . Ruprecht, G. (2009, May). A transmission time-of-flight system for particle
identification at a recoil mass separator at low energies. Nuclear Instruments
and Methods in Physics Research Section A, 603 (3), 372–378. Retrieved from
https://doi.org/10.1016/j.nima.2009.02.016
Ziegler, J. (2013). SRIM - The Stopping and Range of Ions in Matter. Retrieved from
http://www.srim.org/
List of Figures
2.1 Layout of the CIRCE facility. . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Layout of the recoil mass separator ERNA. . . . . . . . . . . . . . . . . . 12
2.3 Vector illustration of 12C(α,γ)16O for g.s. transitions. . . . . . . . . . . . 13
2.4 Vector illustration of 12C(α,γ)16O for cascade transitions. . . . . . . . . . 13
2.5 Level diagram of the 16O compound nucleus. . . . . . . . . . . . . . . . . 17
2.6 Angular differential cross section in nb for Ecm = 2.652 MeV as a functionof the γ-ray angle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 Angular differential cross section in nb for Ecm = 2.652 MeV as a functionof the (Left) relative energy deviation and (Right) angle of the recoil withrespect to the beam axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8 Angular differential cross section in nb for Ecm = 2.675 MeV as a functionof the γ-ray angle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.9 Angular differential cross section in nb for Ecm = 2.675 MeV as a functionof the (Left) relative energy deviation and (Right) angle of the recoil withrespect to the beam axis. . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.10 Cascade γ-ray angular distribution for Ecm = 2.676 MeV. . . . . . . . . . 22
2.11 Cascade γ-ray angular distribution for Ecm = 2.652 MeV. . . . . . . . . . 22
2.12 Relative energy deviation and angular distribution of the recoils at Ecm
= 2.676 MeV for ground state transitions. . . . . . . . . . . . . . . . . . . 23
2.13 Relative energy deviation and angular distribution of the recoils at Ecm
= 2.676 MeV for cascade transitions. . . . . . . . . . . . . . . . . . . . . . 24
2.14 Relative energy deviation and angular distribution of the recoils at Ecm
= 2.676 MeV for cascade transitions with primary and secondary γ-raybeing emitted isotropically. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.15 Correlation matrix for ground state transitions of the relative energy de-viation from the central one to the angle of the recoil at target positionfor Ecm = 2.676 MeV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.16 Correlation matrix for cascade transitions through the 6.92 MeV excitedstate of the relative energy deviation from the central one to the angle ofthe recoil at target position for Ecm = 2.676 MeV. . . . . . . . . . . . . . 25
2.17 Correlation matrix for ground state transitions of the relative energy de-viation from the central one to the angle of the recoil at the end of theseparator for Ecm = 2.676 MeV and q = +5. . . . . . . . . . . . . . . . . . 27
2.18 Correlation matrix for cascade transitions through the 6.92 MeV excitedstate of the relative energy deviation from the central one to the angle ofthe recoil at the end of the separator for Ecm = 2.676 MeV and q = +5. . 27
192
List of Figures 193
2.19 Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the relative energy deviation from the central one to the radius relativeto the central trajectory of the recoil at the end of the separator for Ecm
= 2.652 MeV and q = +5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.20 Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the angle of the recoil to the radius relative to the central trajectory ofthe recoil at the end of the separator for Ecm = 2.652 MeV and q = +5. . 28
2.21 Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the phase space in x of the recoil at the end of the separator for Ecm
= 2.652 MeV and q = +5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.22 Correlation matrix for [Left] E1 and [Right] E2 ground state transitionsof the phase space in y of the recoil at the end of the separator for Ecm
= 2.652 MeV and q = +5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.23 Ratio of events in different radius ranges for g.s. transitions. . . . . . . . . 29
2.24 Ratio of events in different ∆E/E ranges for g.s. transitions. . . . . . . . . 30
2.25 Simulation with COSY Infinity of the 12C leaky beam transport. . . . . . 31
2.26 Simulation with COSY Infinity of the 12C leaky beam transport. q12C =+4, +5 and +6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.27 The beam directional cosines distribution in y and z directions. . . . . . . 32
2.28 The directional cosine distribution in the z-direction. . . . . . . . . . . . . 33
3.1 Schemtic illustration of a channel plate detector. . . . . . . . . . . . . . . 35
3.2 Exploded illustration of the layers used in the carbon foil production. . . 37
3.3 Pictures of the apparatus used in the Formvar deposition. . . . . . . . . . 37
3.4 Pictures of the apparatus used to float the carbon foils. . . . . . . . . . . 38
3.5 Pictures of the apparatus used to hook the carbon foils with the frame. . 38
3.6 Voltage contour lines and electrons trajectories. . . . . . . . . . . . . . . . 39
3.7 Trajectories of electrons for different Ufoil. . . . . . . . . . . . . . . . . . . 40
3.8 Trajectories of electrons for different Ufoil. . . . . . . . . . . . . . . . . . . 40
3.9 Trajectories of electrons for different dwp. . . . . . . . . . . . . . . . . . . 41
3.10 Trajectories of electrons for different dfg. . . . . . . . . . . . . . . . . . . 41
3.11 Trajectories of electrons for different dfg. . . . . . . . . . . . . . . . . . . 41
3.12 Schematic illustration of the electrostatic mirror setup. . . . . . . . . . . . 42
3.13 Trajectories of electrons for different θxz and Umg. . . . . . . . . . . . . . 43
3.14 Trajectories of electrons for different θxz and dtobwp. . . . . . . . . . . . . . . 44
3.15 Trajectories of electrons for different θxz and dmgwp . . . . . . . . . . . . . . 45
3.16 Trajectories of electrons for different θxz. . . . . . . . . . . . . . . . . . . . 45
3.17 Trajectories of electrons for different θxz and dt−mg. . . . . . . . . . . . . 46
3.18 Pictures of the DLD40 with the MCPs stack before installation. . . . . . . 47
3.19 DLD40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.20 FT12-TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.21 HVTmatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.22 Delay line anode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.23 View from x = -1 of the electron sources at y = 3, 4 and 5 cm, z = 0.The dashed circle represents the hole in the frame of the carbon foil. . . . 51
3.24 FWHM × Umg/Ufoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
List of Figures 194
3.25 View from x = -1 of the electron sources at y = 3, z = -1; y = 4, z = 0;and y = 5, z = 1. The dashed circle represents the hole in the frame ofthe carbon foil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.26 FWHM × Umg/Ufoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.27 FWHM × dfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.28 FWHM × dt−mg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.29 FWHM × dfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.30 FWHM × Umg/Ufoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.31 FWHM × Ufoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.32 FWHM × Umg/Ufoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.33 FWHM × dfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.34 FWHM × dt−mg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.35 FWHM × Umg/Ufoil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.36 FWHM × dfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.37 FWHM × dt−mg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.38 Exploded view of the electrostatic mirror made with Inventorr. . . . . . 62
3.39 Pictures of the tools used in the first welding phase. . . . . . . . . . . . . 63
3.40 Pictures of the second welding phase. . . . . . . . . . . . . . . . . . . . . . 63
3.41 Pictures of the mounting process of the electrostatic mirror. . . . . . . . . 64
3.42 Sketch of the delay line circuit implemented in the position sensitive par-allel wire plane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.43 Picture of the entrance window of the ICT. . . . . . . . . . . . . . . . . . 66
3.44 Picture of the blank PCB and of the position sensitive parallel wire plane. 67
3.45 Pictures of the second welding phase. . . . . . . . . . . . . . . . . . . . . . 67
3.46 Pictures of the MWPC wafer. . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.47 Circuit to decouple the anode signal from HV. . . . . . . . . . . . . . . . 69
3.48 Circuit to filter the low frequency signals from the position sensitive par-allel wire plane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.49 Pictures of the decoupler circuit. . . . . . . . . . . . . . . . . . . . . . . . 70
3.50 Pictures of the MWPC wafer. . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.1 COSYrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.2 TransmissionMisalignments . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3 Plot of the center of the beam distribution for 0 mrad deflection. . . . . . 76
4.4 Plot of the center of the beam distribution for ±30 mrad vertical deflection. 77
4.5 Reference frame adopted using spherical coordinates to analyze the scanusing SS6 and SS7. It is important to notice that x is equals -(Right slitposition). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.6 [Left] Plot of the beam center vertical and horizontal positions for SS6and SS7, for different vertical deflections at the target position. [Right]
Plot of θfx and θfy final components as a function of the initial componentθix, where θiy = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.7 Plot of the beam center position scanned with SS6 and SS7, for differentdeflections at target position in the direction: [Top left] ϕ = 90; [Topright] ϕ = 180; [Bottom left] ϕ = 45; [Bottom right] ϕ = 135. . . . . . 79
4.8 [Left] Final θfx as a function of initial θix and [Right] final θfy as a functionof initial θiy for ϕ = 45, 90, 135 and 180. . . . . . . . . . . . . . . . . . 79
List of Figures 195
4.9 X and Y phase spaces at the end of the ERNA line. The empty circleswere obtained from the slits scan described in section 4.2.4 and the redtriangles from the least squares minimization. The arrows are to connectthe measured and simulated points that have the same initial condition. . 80
4.10 Plot of the beam center position scanned with SS6 and SS7, for differentdeflections at target position and ϕ = 180. The plot includes two set oftunings, the beam at 8261 keV with ERNA at 7971 keV, and beam at7971 keV with ERNA at 7681 keV. . . . . . . . . . . . . . . . . . . . . . . 81
4.11 Plot of θfx and θfy obtained from the data of fig. 4.10. . . . . . . . . . . . . 81
4.12 Picture of the copper wire rolled tight in the cooling tubes of SS1. . . . . 83
4.13 Picture of the caliper position adopted to measure the slit displacement. . 83
4.14 Schematic illustration of the slit displacement with respect to the axiscentered in the first arm of the separator. . . . . . . . . . . . . . . . . . . 84
4.15 Schematic illustration of deflection unit related to its resolver number andvoltage polarity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.16 Plot of the 16O+5 beam profile for different deflections. . . . . . . . . . . . 85
4.17 Plot of the angles obtained from the centroids of fig. 4.16 as a functionof the voltage difference between two plates of one stage. . . . . . . . . . . 85
4.18 Angular acceptance measured in the horizontal plane. The blue pointswere obtained with the parameters of θf and the red points with theparameters of θg. The gray shaded area shows the required acceptance. . 86
4.19 Angular acceptance measured in the vertical plane. The blue points wereobtained with the parameters of θf and the red points with the parametersof θg. The gray shaded area shows the required acceptance. . . . . . . . . 87
4.20 Angular acceptance measured in the diagonal plane where Resolver =899. The blue points were obtained with the parameters of θf and thered points with the parameters of θg. The gray shaded area shows therequired acceptance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.21 Angular acceptance measured in the diagonal plane where Resolver =128. The blue points were obtained with the parameters of θf and thered points with the parameters of θg. The gray shaded area shows therequired acceptance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.22 Plot of the energy dependence of the 16O maximum ”emission” angle forthe 12C(α, γ)16O reaction. The red lines indicate the angle correspondentto 8 MeV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.23 Plot of the energy acceptance measured with A.t. 5 (red points) and A.t.6 (blue points). The gray shaded area shows the required acceptance. . . 89
4.24 Plot of the energy dependence of the 16O maximum energy spread for the12C(α, γ)16O reaction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.25 [Top left] Energy straggling of 16O ions after crossing a 4He target. [Topright] Angular straggling of 16O ions after crossing a 4He target. Allevents with angle smaller than 0.45 mrad are concentrated in the first bardue to resolution of the data from TRIM. [Bottom] Percentage of ionswith angle smaller than θ16O. . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.26 Schematic drawing of the first version of the MWPC stack. . . . . . . . . 92
4.27 [Left] x1 (blue) and x2 (purple) signals from the FTA420 together withthe NIM signal generated from the anode in the CFD. [Right] y1 (blue)and y2 (purple) signals from the FTA420 together with the NIM signalgenerated from the anode in the CFD. . . . . . . . . . . . . . . . . . . . . 93
List of Figures 196
4.28 Ions delays (positions) at the MWPC detector. [Left] The SS7 was closedforming a 1×1 mm square hole centered at Right = -15 mm and Up = 0.5mm. [Right] The SS7 was closed forming a 1×1 mm square hole centeredat Right = 16 mm and Up = 0.5 mm. . . . . . . . . . . . . . . . . . . . . 94
4.29 Ions delays (positions) at the MWPC detector. [Left] The SS7 was closedforming a 1×1 mm square hole centered at Right = 1.0 mm and Up =15.5 mm. [Right] The SS7 was closed forming a 1×1 mm square holecentered at Right = 1.0 mm and Up = -15.5 mm. . . . . . . . . . . . . . . 94
4.30 Ions delays (positions) at the MWPC detector. The SS7 was closed form-ing a 1×1 mm square hole centered at Right = 1.0 mm and Up = 0.5mm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.31 Schematic illustration of the second version of the MWPC stack. . . . . . 95
4.32 Picture of the signals collected right before the CFD, from the anode(blue),front(purple), y1(yellow) and y2(green). . . . . . . . . . . . . . . . . . . . 96
4.33 XY matrix obtained from the delays of the CPD detector for an 16O+5 at8.04 MeV with no deflection, ∆UA = ∆UB = 0 V. The two small spotson the left and on top of the main spot were interpreted as coming frompre-trigger signals. The x-axis is in ns because it was not calibrated. . . . 97
4.34 CFD output of an erroneous pre-triggered event, extracted from Roent-Dek1 (2017). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.35 XY matrices obtained from the delays of the CPD detector for an 16O+5
at 8.04 MeV: [Top Left] with no deflection, ∆UA = ∆UB = 0 V; [TopRight] with ∆UA = ∆UB = -2200 V, and Resolver = 0; [Center Left]with ∆UA = ∆UB = +2200 V, and Resolver = 0; [Center Right] with∆UA = ∆UB = +2200 V, and Resolver = 771; [Bottom] with ∆UA =∆UB = -2200 V, and Resolver = 771. The x-axis is in ns because it wasnot calibrated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.36 Scheme of the DLD referential system. . . . . . . . . . . . . . . . . . . . . 99
4.37 [Left] First calibration point obtained with SS5(R = 0.0, L = 0.5, U =-0.5, D = 1.0 mm) and SS6(R = -0.5, L = 1.0, U = 6.0, D = -5.5 mm).[Right] Second calibration point obtained with SS5(R = 0.0, L = 0.5, U= -5.5, D = 6.0 mm) and SS6(R = -0.5, L = 1.0, U = -5.0, D = 5.5 mm). 100
4.38 [Top Left] ∆UA = ∆UB = 1.5 kV, [Top Right] ∆UA = ∆UB = 2.0 kV,[Bottom Left] ∆UA = ∆UB = 2.5 kV, [Bottom Right] ∆UA = ∆UB =2.8 kV, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.39 [Left] Tof×E matrix for an 16O+5 at 8.04 MeV with no deflection, ∆UA
= ∆UB = 0 V. [Right] Tof×E matrix for an 12C+5 at 10.7 MeV with nodeflection, but with the ERNA separator tuned for an 16O+5 at 8.04 MeV.101
4.40 XY matrix from the delays of the CPD detector of a carbon beam. Theseparator was tuned for an 16O+5 beam at 8.04 MeV. The x-axis is in nsbecause it was not calibrated. See text for more details. . . . . . . . . . . 102
C.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
C.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
C.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
C.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
C.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
C.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
C.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
List of Figures 197
C.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
C.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
C.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
C.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
C.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
D.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
D.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
D.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
D.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
E.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
E.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
E.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
E.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
E.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
E.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
E.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
F.1 Voltage divider circuit used to match the MCPs resistance. . . . . . . . . 176
F.2 Decoupler box 011-0081-00 made by Tektronix. . . . . . . . . . . . . . . . 177