= Elegent = Elegent (Elastic Event GENeraTor) is a Monte-Carlo generator of (anti-)proton-proton collisions, based on a number of theoretical/phenomenological models. The project is maintained by Jan Kašpar (contact info at the [[https://elegent.hepforge.org/|home page]]). == Physics == TODO: intro * [[HadronicModels|models of hadronic/strong interaction]] * [[CoulombInteraction|description of Coulomb interaction]] * [[CoulombHadronicInterference|models of Coulomb-hadronic interference]] == Elegent package == The package consists of the following components. 1. C++ implementation of the models described above. For more details, please refer to the [[API|API description]]. 1. A program (`ElegentTDistributionSampler`) to build a number of distributions of interest (differential and cumulative cross-sections, etc.) at a given collision energy. The output is a ROOT file called ''datasheet'' (for details, please refer to the [[DatasheetStructure|datasheet description]]). 1. A class (`Generator`) that loads a specified cumulative distribution function from a datasheet and generates random events in the HepMC format. This class can easily be embedded in any program. As an example, you can have a look at the `TestElegent` program. == Users' guide == === Download and compilation === 1. Either download an [[http://www.hepforge.org/downloads/elegent|Elegent release]] or checkout the code from Subversion: {{{ svn co svn+ssh://svn.hepforge.org/hepforge/svn/elegent/trunk }}} 1. Edit the `makefile` such that `ROOTDIR` and `HepMCDIR` point to your ROOT and HepMC installations. 1. Run {{{ make }}} === Sampling t- and b-distributions === NB: you might want to skip this step as there are ready-made distribution files available for [[http://www.hepforge.org/downloads/elegent|download]]. Run {{{ bin/ElegentTDistributionSampler -h bin/ElegentBDistributionSampler -h }}} to get help on running these programs. Alternatively, look in [[source:/trunk/scripts/generate_t_distributions]] or [[source:/trunk/scripts/generate_b_distributions]] for a usage example. === Testing the event generator === The `Generator` class and a t-distribution ROOT file can be tested with program `bin/ElegentTest`, which would print the generated HepMC events on screen. Run {{{ bin/ElegentTest -h }}} for usage help.