Craig Dowell


Home
About Craig
Craig's Papers
Craig's Code

Craig's Code

A collection of some of the open source code I have written recently in no particular order.


Some C++ code to add an object naming facility to the ns-3 network simulator. Uses STL, templates, Doxygen and various ns-3 idioms like smart pointers. Also provided is the test suite I wrote for the object naming facility. It is based on a test framework which I also wrote.

names.h
names.cc
names-test-suite.cc


C++ code to implement a real-time scheduler to the ns-3 project. Uses multithreading, illustrates Resource Allocation is Initialization idiom for thread synchronization. This is the implementation class for a PIMPL idiom. Again, uses Doxygen and various ns-3 idioms like smart pointers.

realtime-simulator-impl.h
realtime-simulator-impl.cc
wall-clock-synchronizer.h
wall-clock.synchronizer.cc


Python code to drive the unit, system and performance tests for the ns-3 validation and verification testing system. Runs tests and generates web output among many options.

test.py


Some C++ code to implement an automatic IPv4 address generator for the ns-3 system. Used to (semi) automatically assign IP addresses to devices created during a simulation. Shows extensive unit testing integrated into module based on a test framework I also wrote.

ipv4-address-generator.h
ipv4-address-generator.cc


This is a C++ program to read a file describing an energy histogram gathered by a positron emission tomography and fit a Lorentzian to the photopeak. It creates graph of the histo and the fit using gnuplot when it’s done. It was used as a tool in an automagic calibration program for the PET scanner.

rabbit-histo-fit.cc


This is a Root file that is part of a framework I wrote to analyze cosmic ray data taken as part of the muon spectrometer commissioning at the Large Hadron Collider. Root is a data analysis tool used at CERN which has a scripting language that looks just like C++. This program looks through data collected by the muon detector and shows hits due to cosmic rays that made their way down into the Atlas pit. This was used to visualize dead and noisy drift tubes during the detector bringup.

fwdisp.C


Home
About Craig
Craig's Papers
Craig's Code