-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocumentation.tex
292 lines (176 loc) · 7.41 KB
/
documentation.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
\documentclass[
DIV=11,
BCOR=0mm,
paper=a4,
fontsize=11pt,
% parskip=half,
twoside=false,
titlepage=true
% ]{scrreprt}
]{scrartcl}
% -- The basics
\setlength{\parskip}{0.5em} % What parskip=half would do in document class
\setlength{\parindent}{1em} % What would be indent if no parskip given in documentclass
% Set things manually, then we can have indent+skip
\usepackage[left=1in,right=1in,top=0.5in,bottom=1in]{geometry}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[ngerman, english]{babel}
\usepackage[expansion=true, protrusion=true]{microtype}
% -- Page setup
\usepackage[singlespacing]{setspace}
\usepackage[automark, headsepline]{scrlayer-scrpage}
\clearmainofpairofpagestyles
\setlength{\headheight}{\baselineskip}
\automark{section} % write section in footline instead of chapter (if there is one)
\automark*{subsection}
\ihead{Max Melching \hfill \headmark}
\usepackage{lastpage}
\cfoot{{\hypersetup{linkcolor=black}Page~\thepage~of~\pageref{LastPage}}}
% -- Link setup
\usepackage{xcolor}
\definecolor{linkblue}{rgb}{0.00,0.00,1.00}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
breaklinks=true,
citecolor=linkblue,
linkcolor=linkblue,
menucolor=linkblue,
urlcolor=linkblue
}
% -- Font preferences
\usepackage{newtxmath}
\usepackage{tgpagella}
% \setkomafont{chapter}{\rmfamily\Huge\bfseries}
\setkomafont{section}{\rmfamily\Large\bfseries}
\setkomafont{subsection}{\rmfamily\large\scshape}
\setkomafont{paragraph}{\rmfamily}
\setkomafont{title}{\bfseries}
\setkomafont{subtitle}{\Large\scshape}
\setkomafont{author}{\Large\slshape}
\setkomafont{pagehead}{\scshape}
\setkomafont{pagefoot}{\slshape}
% -- Choose special color and font for code bits
\definecolor{codecolor}{RGB}{235, 66, 0}
\newcommand{\code}[1]{\textcolor{codecolor}{\texttt{#1}}}
% -- Customizing itemize labels
\renewcommand{\labelitemi}{$\blacktriangleright$}%{$\vartriangleright$}
\renewcommand{\labelitemii}{\textbf{--}} % is also default there
\renewcommand{\labelitemiii}{$\bullet$}
\setlength{\itemsep}{10pt}
% -- Retrieving git hash
\usepackage{xstring}
\usepackage{catchfile}
\CatchFileDef{\HEAD}{.git/refs/heads/main}{}
\newcommand{\gitrevision}{%
\StrLeft{\HEAD}{7}%
}
% \CatchFileDef{\TAG}{.git/refs/tags}{}
% -- Some convenience features
\usepackage{siunitx}
\RequirePackage{wasysym} % For \ascnode symbol
% -- Some custom commands
\newcommand{\defaultval}[1]{%
{\bfseries\slshape%\itshape
% Default:} #1%
Default} $=$ #1%
}
\begin{document}
% \chapter*{Documentation Of \code{GWFrames}}
{\rmfamily\Huge\bfseries
Documentation Of \code{GWFrames}
}
For the most recent version of all the files, see \url{https://github.com/MaxMelching/gw_frames}.
This file was compiled on \today{} and the corresponding git commit hash
is \code{\gitrevision{}} (or, in case you need the full one, \code{\HEAD{}}\hspace{-0.5em}).
\section{Overview}
This repository contains three packages, each providing one command:
\begin{itemize}
\item \code{cbc\_frames\_tikz} (command \verb|\drawframes|): plots a
selection of source frame, signal frame, and celestial frame that are
used to describe gravitational waves emitted by compact binary coalescences.
\item \code{cbc\_binary\_tikz} (command \verb|\drawbinary|): plots
intrinsic parameters of a system of two compact binary objects. Adapted
from code originally written by Jannik Mielke.
\item \code{earth\_tikz} (command \verb|\drawearth|): plots one side of
the Earth. Mainly intended for usage through \verb|\drawframes|. Most of
the credit for this code goes to Izaak Neutelings, who provided it on
\url{https://tikz.net/astronomy_seasons/}.
\end{itemize}
Several examples of how to use this package are shown in the examples folder.
% Pictures are also included in Fig.~\ref{fig:examples}.
% \begin{figure}[h]
% \centering
% \includegraphics[width=0.67\textwidth]{examples/signal_frame.pdf}
% \label{fig:examples}
% \end{figure}
\section{List Of Keyword Arguments}
\emph{Note} that certain values cannot be passed to pgfkeys, which is
particularly relevant for declaration of labels. If you encounter an issue of
this kind, look up the command that this key is stored in (typically something
like \verb|\<parameter>Label|), and manually set the command. This can be done
using \verb|\def\<parameter>Label{<input>}|. A practical example would be
\verb|\def\OmegaLabel{$\Omega = \pi/2 + \mathrm{longAscNodes}$}|.
\subsection{\texttt{cbc\_frames\_tikz}}
This is a list of all keyword arguments (note that all angles are expected to
be given in degrees):
\begin{itemize}
\item \code{mass1}: mass of the first compact object, determining its
size. Ten solar masses correspond to a size of $\SI{0.35}{\centi\metre}$.
\defaultval{$20$}
\item \code{mass2}: mass of the second compact object, determining its
size. Ten solar masses correspond to a size of $\SI{0.35}{\centi\metre}$.
\defaultval{$20$}
\item \code{longascnodes}: determines the angle between $x$-axis of the
signal frame and the ascending node $\ascnode$, this angle being
$\Omega = 90 + \mathrm{longAscNodes}$.
\defaultval{$0$}
\item \code{inclination}: inclination between orbital plane and sky plane.
This rotation is about the ascending node $\ascnode$.
\defaultval{$0$}
\item \code{phiref}: reference angle $\phi_\mathrm{ref}$ that determines
the rotation between ascending node and $x$-axis of the signal frame
(about the inclined $z$-axis of the signal frame).
\defaultval{$0$}
\item \code{ra}
\item \code{dec}
\item \code{polarization}: polarization angle, i.e. rotation of the $x$-axis
in the sky plane (about the line of sight).
\item \code{eccentricity}
\item \code{axislen}: length of the axes in each coordinate system.
\defaultval{$\SI{3}{\centi\metre}$}
\item \code{binaryscalefactor}: distance of binary companions, in multiples
of the axis length \code{axislen}.
\defaultval{$1$}
\item \code{binarydistance}: distance of binary center of mass from Earth,
in multiples of the axis length \code{axislen}.
\defaultval{$3$}
% \item \code{uselayers}
\item \code{showcelestialframe}: determines whether to show the celestial frame.
Has precedence over the other commands for styling of celestialframe, such
as \code{celestialframeaxes}.
\defaultval{true}
\item \code{celestialframeaxes}
\item \code{celestialframehelperlines}
\item \code{celestialframeangles}
\item \code{showlineofsight}
\item \code{showsignalframe}: determines whether to show the signal frame.
Has precedence over the other commands for styling of signalframe, such
as \code{signalframeaxes}.
\defaultval{true}
\item \code{signalframeaxes}
\item \code{signalframehelperlines}
\item \code{signalframeangles}
\item \code{showsourceframe}
\item \code{sourceframeaxes}
\item \code{sourceframehelperlines}
\item \code{earthradius}
\item \code{earthtilt}:
\item \code{showifo}: whether to draw an interferometer on Earth or not.
\item \code{ifoarmlength}: arm length of the interferometer.
\defaultval{$\SI{2}{\centi\metre}$}
\end{itemize}
\subsection{\texttt{cbc\_binary\_tikz}}
\subsection{\texttt{earth\_tikz}}
\end{document}