# C++

The complete project documentation under oxygen and repo

## math libraries

The main math class is Matematica.h which includes

• 2d matrix filtering
• algebric operations
• numeric integration/derivation
• approximated basic functions (Gamma, Bessel, Neumann)
• spectral analysis
• correlation, normalization
• statistical properties, momenta
• interpolation, regression, filtering
• Bezier, splines

## sputtering [2006-2008]

Sputtering of ions on silicon lattice to calculate impurity diffusion

sputtering on ions

## monte carlo [2006-2013]

Monte Carlo simulations to simulate grand canonical equilibrium of lipid chains around a nanoparticle

peptide in lipid membrane

## molecular dynamics [2008-2013]

coated nanoparticle

## visualization with Qt [2006-2013]

The program Avvis was written over 6 years in C++ and Qt (migrated from 4 to 5 to 6)

overview of some key features of the program Avvis

The program was initially used in 2005 to compute basic properties of signals in the search of pink noise and extended until 2012 to basically compute signal processing and plotting.

Features:

• display signals and select specific ranges
• display log, points, lines
• compute spectrum, autocorrelation, running average, integral, derivative
• interpolate on selected ranges, log included
• plot and load style configurations
void ElementiGrafici::DisegnaPunti(QPainter *p){
if(PrimaVolta){
return;
}
if(NVisMin < 0 || NVisMax > PuntiMax || NVisMin > NVisMax){
sprintf(stringa,"Non e corretto l'ordine 0<=%d<%d<=%d",NVisMin,NVisMax,PuntiMax);
printf("Non e corretto l'ordine 0<=%d<%d<=%d\n",NVisMin,NVisMax,PuntiMax);
ErrPrima->message(stringa);
return;
}
if( IfRiscala != 0 ) GrRiscala();
GrStampante(p);
GrConf(nomeConf);
GrScript(nomeConf,p);
if( DIS_IF_TYPE(IfDisegna,DIS_TUTTI) ){
for(int s=0,sColor=0;s<NVar;s++){
if(v1->IsAbscissa(s)) continue;
sColor = s;
p->setBrush( GrLinee[sColor] );
p->setPen( QPen( GrLinee[sColor],2 ) );
Linee = DIS_IF_TYPE(LineaCome[sColor],LINEA_TRATTO);
GrSet(p,s);
sColor++;
}
}

## visualization with openGL [2006-2013]

The main software is called ElPly and is written to display simuation results:

openGL software

Main features

• display chains and molecules
• display surfaces (marching cubes)
• navigate
• conf file input

density of lipids around a nanoparticle

planar membranes

peptide in membrane

# Gtk

The python 2 code caciotta leaks was written to create an interface between the erp database and the user.

Caciotta leaks, database interface to compute milk efficiency in a cheese factory

import pygtk
import gtk, pango
window = None
flag_checkboxes = 5*[None]
settings = 5*[0]
self.marked_date = 31*[0]

window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("CaciottaLeaks")
window.set_border_width(5)
window.connect("destroy", lambda x: gtk.main_quit())

window.set_resizable(False)

vbox = gtk.VBox(False, self.DEF_PAD)
...