<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>C++ |</title><link>https://tommasoronconi.github.io/tags/c++/</link><atom:link href="https://tommasoronconi.github.io/tags/c++/index.xml" rel="self" type="application/rss+xml"/><description>C++</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 01 May 2024 00:00:00 +0000</lastBuildDate><image><url>https://tommasoronconi.github.io/media/icon.svg</url><title>C++</title><link>https://tommasoronconi.github.io/tags/c++/</link></image><item><title>GalaPy</title><link>https://tommasoronconi.github.io/software/galapy/</link><pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate><guid>https://tommasoronconi.github.io/software/galapy/</guid><description>&lt;p&gt;&lt;strong&gt;Role:&lt;/strong&gt; lead author &amp;amp; maintainer.
&lt;strong&gt;Stack:&lt;/strong&gt; C++ compute core exposed through a Python API; hybrid parallelisation
(vectorised array programming, shared-memory concurrency, distributed-memory message
passing).&lt;/p&gt;
&lt;p&gt;GalaPy simulates the panchromatic emission of galaxies from X-rays to radio and performs
Bayesian spectral-energy-distribution fitting. Models are generated on the fly rather than
interpolated from a template library, which is what allows a peak throughput of almost
&lt;strong&gt;1000 SEDs per second on a single core&lt;/strong&gt; — the fastest SED-generation tool of its kind.&lt;/p&gt;
&lt;p&gt;The library is designed around an object-oriented architecture that keeps it portable with
minimal memory overhead, and it scales from a laptop to an HPC allocation without changing
the user-facing API. Recent additions include parallel sampling for Bayesian inference and
a fully analytical, panchromatic AGN component.&lt;/p&gt;
&lt;p&gt;Since release, GalaPy has been adopted by groups across Europe, Asia and South America, for
work ranging from nearby resolved galaxies to JWST high-redshift candidates. Its role in my
wider programme is described in my
.&lt;/p&gt;
&lt;p&gt;Presented in &lt;em&gt;Astronomy &amp;amp; Astrophysics&lt;/em&gt; 685, A161 (2024) —
see
— with the computational design
detailed in &lt;em&gt;Astronomy and Computing&lt;/em&gt; 55, 101079 (2026):
.&lt;/p&gt;</description></item><item><title>SCAMPy</title><link>https://tommasoronconi.github.io/software/scampy/</link><pubDate>Sat, 01 Aug 2020 00:00:00 +0000</pubDate><guid>https://tommasoronconi.github.io/software/scampy/</guid><description>&lt;p&gt;&lt;strong&gt;Role:&lt;/strong&gt; author &amp;amp; maintainer.
&lt;strong&gt;Stack:&lt;/strong&gt; C++ core (object-oriented, polymorphic) wrapped in Python.&lt;/p&gt;
&lt;p&gt;SCAMPy implements the Sub-halo Clustering and Abundance Matching (SCAM) scheme, which
combines the classical Halo Occupation Distribution with sub-halo abundance matching. The
procedure runs in two steps: the HOD prescription selects which sub-haloes host galaxies,
then SHAM assigns an observable property of choice to each selected sub-halo. It requires
only the 1- and 2-point statistics of the target population as input — typically an
observed luminosity function and its clustering — which makes the method fully data-driven
rather than dependent on a physical galaxy-formation model.&lt;/p&gt;
&lt;p&gt;The core functionalities are written in C++ and make wide use of polymorphism for
flexibility and computational efficiency; the whole library is wrapped in Python so it can
be driven from a scripting interface or embedded in a larger pipeline. Mock catalogues
produced this way reproduce both the abundance and the clustering of the target sample, and
the approach applies across a wide redshift range, from high-redshift Lyman-break galaxies
to low-redshift radio sources.&lt;/p&gt;
&lt;p&gt;SCAMPy came out of my Ph.D. thesis and has since become a core ingredient in simulation
pipelines used for SKAO preparatory science, including the full-sky radio mock catalogues
described in my
.&lt;/p&gt;
&lt;p&gt;Presented in &lt;em&gt;Monthly Notices of the Royal Astronomical Society&lt;/em&gt; 498, 2095 (2020) —
see
. Also indexed in the Astrophysics
Source Code Library as &lt;code&gt;ascl:2002.006&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>CosmoBolognaLib</title><link>https://tommasoronconi.github.io/software/cosmobolognalib/</link><pubDate>Wed, 01 Nov 2017 00:00:00 +0000</pubDate><guid>https://tommasoronconi.github.io/software/cosmobolognalib/</guid><description>&lt;p&gt;&lt;strong&gt;Role:&lt;/strong&gt; contributor — void size function modelling and void-catalogue cleaning.
&lt;strong&gt;Stack:&lt;/strong&gt; C++ libraries with a SWIG-generated Python wrapper.
&lt;strong&gt;Author &amp;amp; maintainer:&lt;/strong&gt; Federico Marulli (Università di Bologna).&lt;/p&gt;
&lt;p&gt;CosmoBolognaLib (CBL) is a living project that provides a common numerical environment for
cosmological investigations of the large-scale structure of the Universe. Its focus is
handling astronomical catalogues — real and simulated — measuring one-, two- and three-point
statistics in configuration space, and running cosmological analyses.&lt;/p&gt;
&lt;p&gt;My contribution is the set of tools for cosmic voids: the algorithm that redefines void
ridges and therefore their radii, together with the model for the void size function. The
cleaning procedure takes a void catalogue produced by a void finder and returns a catalogue
of non-overlapping spheres, each embedding a fixed density contrast in the tracer density
field — which is what makes the measured size function comparable with theoretical
predictions. These functions were released in CBL v3.2 and are credited in the library&amp;rsquo;s
changelog to Ronconi &amp;amp; Marulli (2017).&lt;/p&gt;
&lt;p&gt;The tooling underpins the void work described in my
, and was subsequently adopted in Key
Projects within the Euclid Collaboration to forecast the cosmological constraining power of
void statistics.&lt;/p&gt;
&lt;p&gt;The void tools are presented in &lt;em&gt;Astronomy &amp;amp; Astrophysics&lt;/em&gt; 607, A24 (2017) — see
. The library itself is described in Marulli,
Veropalumbo &amp;amp; Moresco (2016).&lt;/p&gt;</description></item></channel></rss>