Change log
Changes for trunk
=================

-- freeze development on augsvn with the last real change r34509
-- Add new binary `auger-convert-time` which provides a fuller interface to the
   timestamp utilities than the existing `gpsSecondToUTCDateTime`

Changes for v3r99
=================

-- switch to USP reconstruction for FD profile
-- updates in estimated uncertainties of FD energy
-- cos(theta) dependence and PRD19 parameters for invisible energy
-- Energy-dependent CIC (cubic in S38, ICRC 2019)
-- Weight-dependent resampling implemented and used as default
-- Particle energy thresholds lowered for SD simulation
-- Fix to NT5 trigger calculation
-- MD simulations volumes moved into G4StationSimulator (in-progress)
-- Upgrade information displayed in EventBrowser
-- Upgrade simulation module (G4TankSimulator -> G4StationSimulator)
   for SSD and SmallPMT (not offlicialy supported on this branch)
-- C++11 compilation is now default
-- Rewrite and reconfigure of Accidental muon injector
-- Full rewrite of EventIO
-- Removed TObjArray from EventIO
-- Framework changed for upgrade: SSD, SmallPMT, UUB, etc.
-- Switched to Geant 4.10.4
-- Improved configuration of mysql db host(s)

Changes for v3r3p3
=================
-- updated Observer applications in Standard Application; reconstruction
   sequence for SD standardized + addition of universality reconstruction in
   SD, SDInfill, GoldenInfill, and Golden
-- updated Universality applications in Standard Application ShowerUniversality
   to be Karlsruhe classic method

Changes for v3r3p2
=================
-- in EnergyCalculationPG updated energy calibration and attenuation curve to
   ICRC 2015
-- in StandardApplications for Observer clean-up of ModuleSequence and
   bootstrap for SDInfillHAS
-- Updated ADST cuts and cut files for minMeanPixelRMS,
   minMeanPixelRMSMergedEyes and minMeanPixelRMSSimpleEyes to work for HEAT and
   HECO
-- Removed FD_Calib_0_A database

Changes for v3r3p1
=================
-- in LDFFinderKG updated the energy calibration and attenuation curve
   parameters to ICRC 2015, same for LDFFinderKG_Infill
-- Add check from Conex version to switch between sybill models

Changes for v3
=================
-- radio on by default
-- multiple database servers can now be defined on cmake command-line
-- playground directory with some of the upgrade code for testing and
   (eventually) migrating into the framework proper
-- switch to the updated signal variance
-- removed condition in the SdCalibrator for 10 FADC counts to be able to have
   the TOTd/MoPS triggers for the reconstruction
-- silent stations removed during the reconstruction for fixing SD outliers
-- Finalized SQLite implementation (see
   https://www.auger.unam.mx/AugerWiki/SqLiteDbs for usage details)
-- Added dedicated bit to indicate whether an event is T5Has in Offline and
   ADST
-- Bug fix: IsT5() now returns true if event is 6T5 or 5T5, before it only
   returned true if the event was 6T5
-- PrimaryGenerator and ConexShowerGenerator modules to generate CONEX showers
   on the fly within FdSimulation
-- Display PMT signals in EventBrowser
-- EventBrowser: More colors in SD tab can be set via style file
-- SdHorizontalReconstruction: Added option to exclude non-triggering stations
   far from triggered stations
-- Added validation for horizontal SD reconstruction
-- ADST: GetXmaxError() now also includes uncertainty from aerosols.
   Systematic aerosol uncertainties are not propagated anymore with the new DB
-- add GOES-DB data to ADST
-- AMIGA branch incorporated into trunk
-- Removed ability for streamer switching

Changes for v2r9p4
==================
-- fix in T5HAS logic

Changes for v2r9p3
==================
-- new energy scale for SD vertical reconstruction

Changes for v2r9p2
==================
-- Caluclation of the uncertainties on the recovered signal from the
   nL of the PMTs on an event by event basis
-- Store individual PMT signals in ADST
-- Display PMT signals in EventBrowser
-- EventBrowser: More colors in SD tab can be set via style file
-- Bug-fix in LDFFingerKG: fit with free beta was never done, even if requested
-- SdHorizontalReconstruction: Added option to exclude non-triggering
   stations far from triggered stations

Changes for v2r9p1
==================
- Direct light subtraction

Changes for v2r9p0
===================

-- Build changes for (cmake-ified) cdas v5r0
-- TriggerTimeCorrection module introduced to correct 100 ns delay introduced in new PLD software
-- patch for bug 759 ("duplicated" entries in the DB)
-- Time variance model modified to that of CDAS 4.8 and implemented CDAS v5r0 variance
-- fix: Stations in DetectorGeometry are now properly updated if RecEventFile reads several files
-- Enable ADSTs and EventBrowser to interactively select SD events based on chi2 probability of fit
-- EventStationPositionManager now guesses inGrid property of unknown stations instead of
   simply regarding such stations as "off grid"
-- Replaced old SdHorizontalReconstruction with rewrite; TabularTankResponse loaded with
   USCInter tables is new default tank response
-- Added SdFootprintData class to hold simple SD footprint parameters (for neutrino analyses).
   This is stored in ShowerSRecData.
-- use telescope alignment from GAP2011-123
-- switched off 10Mhz correction --> need to deselect showers in FD quality cuts
-- use measured relative efficiency of FDs from GAP2007_024 (changes FD energy
   scale by +3%, see GAP2012_002)
-- fix FOV calculation for virtual eyes (e.g. HEAT+CO)
-- Added "average age of event" to ADST and added commission time to DetectorGeometry object
-- Refactor the atmospheric model mechanism so they are automatically registered.
   From now on, atmospheric models can be defined the same way as modules,
   by adding a macro statement like the following in the class definition:
     REGISTER_MODEL(atm::VProfileModel, "GDAS", GDASProfileModel);
-- SdCalibrator: changed the calibration of the simulated component traces
   to make it consistent with the total trace. For details, see
   https://www.auger.unam.mx/bugzilla/show_bug.cgi?id=744
-- Linker note: the linkage options have been modified (via "-Wl, -no-as-needed")
   to prevent modules  from being optimized away. In some systems this option may not be supporteded.
   If you run into such a case, you can explicitly set the compiler options
   yourself (for eg. in cmake or in the enviromental variable CXXFLAGS) and remove
   the option mentioned above.
-- Implemented the curvature parametrisation for the regular array and bug
   fix in the implementation of the curvature parametrisation for infill
-- added golden hybrid infill simulations standard application
-- changed the type of the nanosecond in the TimeStamp to a double
-- Fixed the HybridGeometryFinder: before, the reconstruction crashed if there
   was an empty HEAT triggered event.
-- Added the xml configuration for reconstructing events from HECO virtual eye with
   observer.
-- Modified the FManagerRegisterConfig sequence to overcome database
   issues: first check IF there are some constants for the
   telecopes calibrations; if there isn't any, call the database.

Changes for v2r7p5
==================

-- updated energy calibration of HAS reconstruction to values used for ICRC 2011
-- added SdBadStationRejector to implement "bad periods" for SD stations
-- fixed treatment of SD stations with bad low gain channel in SdCalibrator
   which were wrongly used as saturated stations in the reconstruction
-- Fixed trigger for infill events. Infill stations are now included in the central trigger.

Changes for v2r7p4
==================

-- in LDFFinder.xml updated the energy calibration and the attenuation curve
   for ICRC production also in the LDFFinderKG (the used module)
-- new curvature parametrization

Changes for v2r7p3
==================

-- in LDFFinder.xml updated the energy calibration and the attenuation curve
   for ICRC production

-- added "bad stations" storage
-- fixed display bug for the FADC traces in EventBrowser
-- store the information about the stations' grid


Changes for v2r7p2
==================

-- in FDApertureLightFinder.xml, switch from log likelihoodto chi2 for
   ICRC production

-- speedup molecular db access

Changes for v2r7p1
==================

-- modifications to work with CDAS4.8

-- removed RecDataWriterKG (now it is replaced by newer RecDataWriterNG)

-- HEAT/CO reconstruction example

-- Misc. bug fixes in new code (ie new since the last release)


Changes for v2r7p0 (Shannon)
===========================

-- RecDataWriterNG ("Next Generation") now used as default
   NOTE : in your private module sequences you will need to change
   <module> RecDataWriter </module> to <module> RecDataWriterNG </module> (sorry)

-- new MuonProductionDepth module added (GAP2010-100)

-- EventGeneratorOG: Now it is can generate cores inside the
   infill array.

-- fluorescence model: correction for temperature-dependent
   collisional cross section and vapour quenching is now switched on
   in default configuration

-- EventFileReader extracts total number of muons on the ground from
   CORSIKA and AIRES ground particle files, muon number is propagated to
   ShowerSimData and to ADST (member function: GetMuonNumber())
   (in case of AIRES this only works if inner radial cut
    is small enough, limit is set to 1 meter)

-- Stations in Offline and ADST store simulated number of muons

-- New Cache utility that remembers results of previous (time-consuming)
   function evaluations

-- New smooth & fast interpolation utilities based on B-splines
   for 1-d, 2-d and 3-d; single and vector valued functions

-- New module AccidentalInjector to inject background muons into tanks
   (Status: EXPERIMENTAL)

-- SdPMTSimulator+SdFilterFADCSimulatorMTU: Simulating a large number of
   stations (e.g. a large dense array) consumes too much memory on most machines.
   Now it is possible to simulate one station at a time, create the 25ns
   traces and "forget" the large 1ns traces (base and filter signals) afterwards.

   The syntax for the module sequence is

   <loop numTimes="unbounded" pushEventToStack="no">
     <module> SdPMTSimulatorOG                </module>
     <module> SdFilterFADCSimulatorMTU        </module>
   </loop>

   SdPMTSimulatorOG has a new config option:
   <LimitStationsPerCycle use="yes"> 1 </LimitStationsPerCycle>

   SdFilterFADCSimulatorMTU as well:
   <StoreBaseSignals> no </StoreBaseSignals>

   This is fully backwards compatible by setting LimitStationsPerCycle=no,
   not putting the two modules in a loop and setting StoreBaseSignals=yes.

-- Removed SDSimTankSimlatorOG.

-- RunController supports a <try> tag, which allows one to control
   how many downstream modules are skipped in case an upstream
   module reports an eContinueLoop to the RunController.
   See the doxygen docs for fwk::RunController for details

-- Removed redundant/obsolete stuff from ExampleApplications

-- RecDataLister is now an empty shell that just warns.
   All previous functionality is available from the RecDataWriter.

-- Defunct <InputMode> switch removed from EventFileReader

-- Replace canonical SD PMT quantum efficiency with 'effective' quantum
   efficiency taking into account more details of PMT behavior.
   See GAP-2009-033, GAP-2009-036, GAP-2009-165 and GAP-2009-166 for details

-- Merged HASOffline (separately distributed so far) into Offline

-- Corrected error propagation from FD local to celestial coordinates
   and added same error propagation for SD local coordinates

-- Added revision of LDFFinderOG, called LDFFinderKG
   LDFFinderKG is intended as a replacement and therefore reproduces the features of LDFFinderOG.
   Changes:
     Major code clean up
     Generalized LDF interface, LDFs can have an arbitrary number of "shape parameters" like beta, gamma
     Reference distance (where LDF(r) = 1) is optional now (allows to change from S1000 to S450)
     Parameters of energy calibration and LDF models can be set for standard SD array and SD infill
   New physics:
     Support for analysis of SD infill data
     Global fit (combined fit of LDF and shower front curvature)
     Core uncertainties are propagated into axis uncertainties (with and without global fit)

-- Bug-fix to RecDataWriter: Core error in northing and easting direction were swapped

-- Bug-fix to LDFFinderOG: propagation of core uncertainties to radial uncertainties was wrong

-- Cloud DB is now available, cloud coverage is now available in ADST.

-- Access to SQLite databases is available for testing.  (To use SQLite, you have to select
   it explicitly in cmake before compiling).

-- new module FdDoubleBumpFinderKG to find double-bump shower during online reco for
   shoot the shower

-- new module FdApertureLightFinderKG:
   - fills telescope light at aperture (needed for HEAT and monster eyes)
   - fills pixels-in-zeta (needed for zeta-integration and cloud fraction)
   - light is collected until zeta touches fevt::Telescope::MirrorEventBorderPixels
     (as opposed to fdet::Telescope::OutOfBorderPixels as done previously)
   - light flux is collected over full time avoiding trigger bias (as opposed to
     [timeFitPixelFirst, timeFitPixelLast as done previously)

-- new module FdEnergyDepositFinderKG:
   - reconstructs energy deposit profile from telescope light at aperture
     (needed for HEAT and monster eyes)
   - pixel-wise integration of lateral light distribution

-- new module FdEyeMergerKG for combined reconstruction
   (e.g. CO-HE or full quintuple reco)

-- dynamic pointing of telescopes (HEAT up or down).

-- new module HybridGeometryFinderWG
   - reconstructs axis for arbitrary virtual eyes

-- new module CachedDirectInjectorOG for injecting unthinned showers into the array

Changes for v2r6p4 (AsterixObelix)
=================================

-- Improved handling of large databases (required for the cloud db)

Changes for v2r6p2 (AsterixObelix)
=================================

-- The SD quality cuts are updated up to and including January 2010, and simple
   scripts are added to help manual updates of the SdQualityCutTagger.xml.in
   file.

-- Made the TelescopeSimulatorLX module directly interchangable with
   the KG version, on the cost of a non-perfect calibration for the
   simulations performed wiht the LX module.

-- Moved IR camera pixel database access from Atmosphere to cached memory in
   fdet::Telescope and fdet::Pixel.

-- Re-indexed the cloud DB building_camera and camera_number entries to reduce
   the cardinality of cross-table searches.  Users will need to recreate the
   database Atm_Cloud_1_A

-- The SD quality cuts are updated up to and including January 2010, and simple
   scripts are added to help manual updates of the SdQualityCutTagger.xml.in
   file.

-- Updated StandardApplications/HdSimulationReconstruction for new way
   of running production (simulate -> write offline -> reconstruct -> write ADST)

-- Updated StandardApplications/Observer to a state in which it can be used
   in the Observer productions without *any* modifications.

Changes for v2r6p1 (AsterixObelix)
=================================

-- Corrected for a bug in testing the photon wavelength against model min/max wavelength
   (Modules/TelescopeSimulatorLX).

-- The lower limit is set only once per fit

-- FixGamma function

-- Minuit errors make LDFFinder stop at the first failing stage and set
   the LDF stage correctly. Corrected calculation of the number of degrees
   of freedom in case of fixed core in LDFFinder.


Changes for v2r6p0 (AsterixObelix)
=================================

Organizational
--------------

-- moved repository from svn.unam.auger.mx to devel-ik.fzk.de and
   merged with the ADST repository.

Framework
---------

-- TimeStamp refactored to TimeStamp class for GPS time and UTCDateTime class for UTC.
   Improved handling of leap second compensations when converting GPS to UTC.

-- Build system is now based on CMake rather than autotools

-- New module validation tools are available.  See ValidationTests/G4TankSim
   for an example.

-- Added mechanism to record and report the use of deprecated interfaces, e.g.,
   when a function call gets replaced.

-- Confirm existence of schema file if specified in an XML file, otherwise
   throw an XMLParseException.  Warnings are now displayed for XML files without
   corresponding schemas.

-- Interface change: RandomDistribution is now called RandomSampler, which
   is just the interface to implementations based on a given
   'probability density function' -> RandomSamplerFromPDF or
   'cumulative density function' -> RandomSamplerFromCDF or directly
   'inverse cumulative density function' -> RandomSamplerFromInverseCDF.
   The interface also implements the new functionality:
   EvalPDF, EvalCDF, EvalInverseCDF

-- Safe bool casting added.
   Spurious conversions to integer types are now impossible.
   Side effect: TimeIntervals could be converted to double. The operator double
   is now gone, use the official GetInterval() function instead.

SD-related
----------

-- New module SdQualityCutTagger to flag bad PMTs for SD reconstruction

-- Added additional checks for the sanity of the station calibration data. Now Offline
   is able to run through all sdm files without crashing. The previous version failed
   to calibrate 12 sdm files from 2005 and one sdm file from 2007. We successfully
   recover this events now.

-- SdFilterFADCSimulatorMTU : now you can turn off storage of the simulated signal
   at the filter.  These are densly populated TimeDistributions with 1ns bins, so they
   can consume a lot of memory for big events.

-- SQL station list database is deprecated (now that the array is more-or-less complete).
   Use the XML station list instead.

-- Electrons and Photons with a muon ancestor are now identified
   in the Particle class and in simulated SD traces.

-- fix for SdSignalRecovery sanity checks that were rejecting too many fits

-- fix for number-of-degrees-of-freedom in LDF finder, reenabled core-change
   adjustment of the axis after second LDF fit

-- Particles injected into (simulated) tanks can be optionally streamed.
   Use the SdSimTankParticles streamer switch in EventFileExporter.xml.

-- Saturation simulation added to SdPMTSimulator

-- Undershoot simulation added to SdFilterFADCSimulator

-- CachedShowerRegeneratorOG: station sorting matrix to speed up particle
   injection.

-- Interface change : In PMTSimData, the separate iterators for
   high-gain and low-gain versions of simulated FADC traces
   have been removed.  They've been replaced by an iterator
   which takes PMTConstants::eHighGain or PMTConstants::eLowGain
   as an argument, thus reducing the size of the PMTSimData interface.


FD-related
----------

-- Maximum likelihood fit in FdProfileReconstructor

-- Added scattered Cherenkov LDF in simulations.

-- Smarter way to drum-calibrate simulations. Now the desired accuracy can be defined
   and the DrumPhotonGenerator-loop will generate sufficient photons to reach that
   accuracy. This is much faster and the results are more reliable.

-- Fd simulated drum calibration are now stored together with a MD5 fingerprint, that is
   automatically generated during simulations. This always assures a proper configuration.

-- Added Pixel solid angle.

-- More consistent way of handling camera shadow factors and telescope efficienies.

-- Added SpotPhotonGenerator modules, needed to computer per pixel shadow factors.

-- Deprecated the use of Eye, Telescope, and Pixel iterators in the FEvent
   data structure without explicit specification of the status of the elements
   of the iteration.

-- FD Simulation: The number of ray-traced photons is stored in the
   TelescopeSimData.

-- New TelescopeRecData structure for future telescope-based FD reconstruction.

-- Interface change: fdet::Eye.GetRelativeResponse() is deprecated in favour of
   fdet::Telescope.GetMeasuredEfficiency(). Similarly, the former
   fdet::Telescope.GetEfficiency() becomes GetModelEfficiency().

-- StereoGeometryFinderOG can now deal with HEAT/eye 5.

-- pixel saturation recovery (GAP-2006-104)


Changes for v2r5p7 (Godot)
==========================

-- Fix for bug 690

-- For SD simulation with Corsika showers that support the hadGen encoding
   additional photoelectron release-time (TimeDistribution, FADC, and VEM)
   traces will be produced separately for electrons and photons coming from
   the decay of muons. The component labels are
   sevt::Station::eShowerMuonDecayPhoton for photons from decay of the muons
   in the shower, and sevt::Station::eShowerMuonDecayElectron for electrons
   (positrons) from muon decays.

-- The SD time variance model is updated to the one used in CDAS v4r6 series


Changes for v2r5p6 (Godot)
==========================

-- XML station list updated through March 2009.  Bugs in the list (a few
   incorrect on/off-grid flags and missing stations) are corrected.

-- standard applications now use the XML station list rather than the
   SQL database

-- Fix for bug 676 (test stations with cyclon boards send data in the last 8
   bins of the FADC trace).

-- Fixed wavelength dependence of scattering in MeasuredDBMieModel.

-- Fix for bug 673

-- Fix for bug 661

-- Previous changes to LDFFinder reverted.

-- merged SdSignalRecovery fixes for the sanity checks from trunk


Changes for v2r5p5 (Godot)
=========================

-- LDFFinder: fixed estimate of beta in case of events
   with curvature fit

-- Fix for bug 648

-- fixed erroneous invisible energy correction (SIBYLL, iron)

-- A so-called VEM-capper was added to the CachedShowerRegenerator.
   This VEM-capper reduces memory/cpu consumption for cases where
   the shower core lands very close to a station, but the saturation
   simulation for these stations becomes and more more of an
   underestimate as the shower gets closer and closer to a station.
   So, simulations with this VEM-capper switched on should be treated
   with caution for stations where saturation is large.
   See the doxygen documentation for CachedShowerRegenerator for details.


Changes for v2r5p4 (Godot)
==========================

-- bug fix in SdCalibrator for calibration version < 12


Changes for v2r5p3 (Godot)
==========================

-- adding log-normal time smearing to CachedShowerRegeneratorOG module

-- added statistics Accumulator


Changes for v2r5p2 (Godot)
==========================

-- RecDataWriter made consistent with v5r1p1_Pozzo ADST


Changes for v2r5p1 (Godot)
==========================

-- fix bug in atmosphere quality database query

-- Set default software version in CLF aerosol database (Atm_Aerosol_0_A) to
   "CSM_roberts_v4.0" for the August 2008 DB update.  This may need to be
   revisited with the next DB update.

Changes for v2r5p0
==================

-- fixed step RK4 and RK5 and automagic step RK5 classes for integration
   of ordinary differential equations (see utl::RK4ODEIntegrator and
   utl::RK5ODEIntegrator). there are some examples in the
   Documentation/ExampleApplications/Utilities area.

-- lateral Cherenkov light distribution, multiple scattering
   and spot halo in FdProfileReconstructorKG (GAP-2008-052)
   (note: for consistent MC reconstruction these new features
    need to be switched off, since they are not simulated!
    See parameterOverrides in StandardApplications/HdMCReconstruction)

-- change in interface for Atmosphere::EvaluateFluorescenceYield
   (providing height a.s.l. is now sufficient)

-- new fluorescence yield model (B. Keilhauer et al., arXiv:0801.4200)
   incl. temperature-dependent collision cross-sections and
   wator vapour quenching


Changes for version 2r4p2 (RandomTask)
======================================

-- Added GEANT4 TelescopeSimulatorLX module

-- Full support for UPWARD and SKIMMING air shower geometries
   for hybrid detector simulation:
   Slighly changed atm::Atmosphere interface
   1) Removed functionality with is not working in general:
       * EvaluateSlantDepthVsHeight
       * EvaluateDistanceVsHeight
      and added instead:
       * EvaluateSlantDepthVsDistance
       * EvaluateDistanceVsSlantDepth
       * EvaluateHeightVsDistance
      This is relevant for air shower geometries which do not hit
      the ground (skimming incidence) at very high inclinations.
   2) As a consequence of 1) also the Cherenkov interface needed
      slight changes. Instead of the shower maximum (Xmax) now
      the shower age of the Cherenkov-emitting shower track needs
      to be specified.
      WARNING: This interface-change works type-neutral, meaning
               that old code will still compile happily, but
               produce completely wrong results !!!!!!!!!!!!!!!
   3) Adaption of all relevant code in the Modules for the
      changes in 1) and 2). This should allow now arbitrary
      air shower geometries both during simulation as well
      as reconstruction!

-- Added Observer configuration to standardApplications

-- Fixed and enabled tank recovery for saturated tanks

-- Turn on curvature correction for hybrid time fit

-- Fix xerces2.8 compatibility problem


Changes for version 2r4p1 (RandomTask)
=====================================

-- Fixed the 3 tank SD angular reconstruction accuracy


Changes for version 2r4p0 (RandomTask)
=====================================

-- Experimental python bindings have been added, allowing for
   interactive analysis (currently the implementation is not complete)

-- SdEventSelector: in case of unphysical result of the analytical seed
   reconstruction a minimization is attempted, recovering some of the
   horizontal events.

-- ValidationTests have been upgraded with the SD calibration Validatrix
   suite that will represent a base for new physics validation tests.

-- SdCalibrator has been updated to reflect the CDAS v4r6 Ec.

-- SdCalibPlotter module has been added. Module produces vizualization of
   the algorithm steps of the new calibration.

-- Refinements to the maximum likelihood fit have been added to the
   LDFFinder. For zero-stations no radial cut is applied for the NKG LDF.
   Instead an asymptotic form is used for low signal predictions.

-- ParticleInjectorNEU has been rewritten and new tank intersection
   code has been added. This module now propagates particles to the
   tank boundary.

-- Builds and runs now on Mac OS X 10.4.x on Intel. Please consult the
   wiki page https://www.auger.unam.mx/AugerWiki/OfflineOnMacOs for
   more information.

-- Simulated tank calibration constants are now retrieved from the
   detector description, rather than from a configuration file in
   the SdSimulationCalibrationFiller module.  If you change tank
   simulations, the appropriate calibration constants are read from
   the detector automagically, using the simulator name as a key.
   Note that the standard simulation module sequences have been
   updated accordingly (now the calibration filling happens after
   the tank sim).

-- Important! The Examples directory has been removed and replaced with
   two new directories:
    1) StandardApplications : These are the standard configurations used for
       simulation and reconstruction, for documentation purposes.  Some
       configuration files, such as EventFileReader and EventFileExporter,
       must be edited by the user; in these cases, an example file is provided.
       All other configuration data is taken from the config area of the
       offline installation ($prefix/share/auger-offline/config).
       See the doxygen-generated documentation for details on how to inspect
       the configuration files used by the different applications.
    2) ExampleApplications :  Example configurations which may be experimental
       or not yet considered to be 'standard' or which may illustrate various
       perturbations of the configurations in the StandardApplications area.

-- FTimeFitModel (see GAP-2007-099) for FD geometry fits
   (currently switched off until approved)

-- Support for multiple (simulated) triggers in an event. The SEvent now has
   an SEventSimData object containing a list of T3s
   which are the result of simulating the central trigger. sevt::StationSimData now
   holds a list of GPSTriggerData and TriggerData, one for each simulated
   local trigger.  For details on the trigger simulation see the
   doxygen-generated documentation on Tank Trigger Simulation.

-- New module: CentralTriggerEventBuilder
   This modules is meant to be used right after the central trigger module
   to built the event, to simulate the event building in CDAS

-- TankTriggerSimulator has been changed to be able to handle multiple
   consecutive local triggers. It now sets TriggerData in StationSimData.

-- TankGPSSimulator sets the second from the trigger time now. This module MUST
   now be after the TankTriggerSimulator. It now set GPSData in StationSimData

-- LDFFinderOG has a new feature
   The core position can be chosen to be either fixed accord. to the MC truth,
   the Hybrid estimate or fitted

-- Better logging for global and individual module versions

-- The default SD simulation chain now takes pre-computed calibration constants
   from file, rather than recomputing them for each run.

-- Offline Enquirer added to the Examples area.

-- New hybrid axis finder module from University of Utah.

-- G4TankSimulatorOG and G4FastTankSimulatorPS are now combined into one
   package.  There is a switch <fastMode> in the configuration file
   G4TankTankSimulatorOG.xml for selecting fast or regular (slow) mode.
   In fast mode, the Cherenkov photon tracking from Geant4 is replaced
   with custom tracking code.  All other physics processes simulated in the
   two different modes are identical.

-- EventGeneratorOG has some new features:
   - You can set the core from a list of pre-defined core positions
   - There is a new mode (useRandomStations) which randomly picks
     stations from the array and throw showers into hexagonal
     (non-overlapping) regions.

-- Added support for trios or other larger groups. The functions added for
   working with groups of stations are:
        SDetector::GroupsBegin()
        SDetector::GroupsEnd()
        Station::IsInPair()
        Station::IsInTrio()
        Station::PerntersBegin()
        Station::PartnersEnd()
   A new class StationList is used to store stations groups.
   It provides simple iteration methods.

-- There is a new tutorial illustrating how to generate the SStationList.xml.in file.

-- added a new module for SdSignalRecovery

-- updated Fd pulse finder, to use pixel FLT traces instead of telescope
   SLT data for pulse-preselection

-- ADST RecDataWriter and ASCII RecDataLister are now part of the Offline
   distribution. The ADSTROOT environment variable needs to be set
   to a valid ADST installation. Also '--enable-recdatawriter' has to be used
   for Offline configuration.
   The dependence between the ADST libary and the RecDataWriter is strong.
   This means for each release of Offline (and therefore each version of
   the RecDataWriter) a specific version of ADST is needed. Check
   The Auger Observer webpage (augerobserver.fzk.de) for the most
   recent information and version.

-- Data manager machinery reorganized, with new features to
   help evaluate the volume of database queries.

-- Rare crashes in G4FastTankSimulatorPS resolved.

-- New FADCPulsParametersUCLA module for calculating event risetimes.

-- due to some malformed CDAS event files floating around the
   StationTrigger::IsTimeOverThreshold() does not require zero window size
   anymore to avoid rejection by the event selection
   (from Patch release 2.2p4 )

-- Random number seeding now centrally handled.

-- new capability for reading SENECA files.

-- FEvent: Eyes and Telescopes do have a 'Status' now, which directly
           affected if the components are considered by the reconstruction.
           All iterators (EyeIterator/TelescopeIterator) and also
           Getters/Setters/Hasers do check for the status

-- FDetector: There is a FdUpTimeManager now, that reads from an ROOT
              file for now, but later also from SQL database. The
              FdUpTimeManager knows about the time dependent
              dead time fraction of all Eyes/Telescopes/CDAS veto.

-- FSimulation: FdElectronics/BackgroundSimulator can use BGLoop variances
                and FLT thresholds.
                Full convolution of ADC traces is back

-- FSimulation: New Module FdSimEventCheckerOG which properly initializes
                the FD data structures using the new Eye/Telescope Status
                flag, as well as the FdUpTimeManager

-- FSimulation: New Module ShowerPhotonGenertorOG and DrumPhotonGenertorOG
            These modules create photon objects on the diaphgram. The
            TelescopeSimulatorKG does then only take this photon list and
            propagates through the telescope optics. This is much cleaner,
            and allows easy replacement of the homemade raytracing in
            TelescopeSimulatorKG by a Geant4 version for example.

-- Fixed bug in EventGeneratorOG in which detector time was not set
   for cases where shower core was placed using a station id.
   (from Patch release 2.2p3 )


Changes for version 2.2 (Mojo)
==============================

-- changes in FReconstruction default XML settings:

   FdProfileReconstructor.xml
     - mixed composition invisible energy correction
     - Gora shower width correction
     - curved atmosphere

   AtmosphereInterfaceConfig.xml
     - ProfileModel: MonthlyAvgDB
     - MieModel    : Super

   FTelescopeList.xml
     - average of CLF and star tracking alignment

-- propagation of VAOD uncertainty for FD energy

-- Corrected PMT and photocathode geometries in G4TankSimulatorOG
   N.B. the corresponding changes are not yet in the G4FastTankSimulatorPS- that
   work is pending

-- Optimization of FD calibration database related code, resulting
   in significant speedup of applications that use this database.

-- LDFFinderOG adds an estimate of the optimum LDF distance r_opt.

-- Changes in SdCalibratorOG:

  -  Trace cleaning algorithm is added to improve estimates for signal
     start and stop time. New start time in general slightly reduces the
     shower-front radius of curvature but (most important) fixes some
     cases with unphysically small radii (see SdReconstruction reference
     manual for details).

  -  Calculation of the muon pulse decay time and muon charge
     slope for each PMT (used in trace cleaning).

-- Offline is now compatible with CLHEP2.0 and Geant4.8

-- Changes to EventGeneratorOG:

  -  The configuration file for EventGeneratorOG has been extensively
     reorganized.  See the doxygen documentation for EventGeneratorOG
     for details on how to configure this module.

  -  EventGeneratorOG now flags any stations which are located within
     region not simulated by the generator-level shower simulation
     (eg. Aires or Corsika).  Aires and Corsika showers may be
     generated with cuts on the minimum distance to the shower axis
     to be simulated.  In such cases, if the shower core is placed near
     a station by the EventGenerator, it can happen that this station
     will have a signal which is too small, or even non-existent.
     Such stations are now indicated by the flag
     sevt::StationSimData::IsInsideMinRadius().  Events with such
     "hole stations" can be handled downstream, either by rejecting
     the event in the event selector, or by attempting to make an
     ad hoc simulation of the affected station.

   - EventGeneratorOG now creates a Monte Carlo event number by combining
     information provided by the shower library as well as the config file.
     Further, stations that fall within poorly simulated (or unsimulated)
     regions near the shower core are flagged in the EventGenerator.
     The EventGeneratorOG configuration file has been substantially
     modified to make it easier to understand.  For detailed information,
     see the Doxygen-generated documentation.  From the documentation main page,
     click the "Modules" tab and then find "Event Generator".

   - EventGeneratorOG can now generate events within a time interval and not
     only for a single given time stamp.

-- FSimulation supports now upward going showers. Currently you are
   still forced to provide a shower core (point where the axis intersects
   the earth surface), and you cannot use the InclinedAtmosphereModel.
   Just try the Example/FSimulation bootstrap.conex.xml and put the zenith
   angle in GeometryGenerator.xml to 130deg (>90deg)!

-- CachedShowerRegeneratorOG added to the modules area.  This is
   a modified version of the ShowerRegenerator module which solves
   the serious problems reported in bug 479.  This regenerator allows
   one to limit the number of particles simulated in one pass, thus
   preventing problems of excessive memory usage (and sometimes crashes).
   See the doxygen documentation for CachedShowerRegeneratorOG for
   details on how to configure and use this module.  The example
   simulation sequences now use the CachedShowerRegenerator.

-- New methods in evt::ShowerSimData to record simulated shower number
   and the size of any unsimulated region around the shower core.

-- New (currently not default) particle injector "ParticleInjectorNEU", which
   is considerably easier to configure.

-- A new version of the station list database is being used. From now on, the
   default version is SD_StationList_1_A. To use the new version, create the
   station database and sync.

-- AIRES is from now on an optional package, i.e. not required to build
   Offline.

-- Modules repository features a new central trigger simulator
   "CentralTriggerSimulatorXb" based on the currently running
   code for the PAO DAQ.

-- Configuration machinery now supports checking of md5 fingerprints
   of configuration files.  Md5 fingerprints of *.xml files are
   generated on configuration, and checked against runtime
   generated fingerprints.  Warnings are issued in cases of
   a discrepancy.  A "-f" option has been added to the main allowing
   one to promote md5 warnings to fatal (exception throws).  The
   idea is that this can be used in production runs to ensure that
   correct configurations are used.

-- tagged version v1r2-drevil-fsim on Tue May  2 04:04:49 ART 2006
   to mark a compiling and stable running Offline containing all the
   new FSimulation features

-- More fevt data containers, to store detailed FD trigger information.
   This is used in the new FdPulseFinderOG, to identify the right pulses
   also in trace, where it failed up to now.

-- New FdApertureLightFinder XML cards for zeta search and combination
   of data points

-- Added KG FSimulation modules. Their interface changed slightly compared
   to the OG modules, so interchangeability is not given at any point!
   See the FSimulation example for more details.

-- SQL configuration machinery is updated to support attempts to connect
   to more than 1 database server or to attempt connection using
   different username, password and/or port parameters.  Candidate
   server parameters are listed in the
   relevant SQL configuration file inside <serverList> tags.
   Each SQL manager attempts to connect to the MySQL servers in
   the order they appear in the server list; the first successful
   connection is used from then on by that manager.
   See $prefix/share/auger-offline/config/databaseServers.xml
   for an example of a database server list.  This default
   databaseServers.xml file can be included in the relevant
   SQL config files as an entity reference (as an example, see
   $prefix/share/auger-offline/config/AAerosolSQLConfig.xml) to
   save typing. The reasons for implementing this new functionality
   are described in bug report 487.

-- Laser simulation modules added to the distribution.  See the
   example in $prefix/share/auger-offline/doc/Examples/FLaserSimulation.
   New LaserData class added to the Event to hold laser info.

-- GaisserHillasParameters "know" now if they refer to an N_e or
   dEdX profile (i.e. whether GetNmax() returns (N_e)_max or
   (dEdX)_max). Accesss information via IsdEdXProfile()

-- Added FdProfileReconstructorKG module

-- Added "smart" Mie model, which uses database if available, otherwise
   back on a parametrization.  See Tutorials/ReadAerosolHL.


Changes for version 2.1
=======================

  This was a development version only. No official release was ever done.


Changes for version 2.0 (DrEvil)
================================

-- New manager to access the T2Life files. To use this manager one has to
   add '<manager> T2LifeFileManager </manager>'
   BEFORE  '<manager> SCalibSQLManager </manager>'
   This manager provides a flag telling if the station was sending T2s at
   that second, this is done through the method sdet::Station::IsInAcquisition()
   The manager reads the files generated with the code from Orsay, but one
   needs to modify T2LifeFileManagerConfig.xml to give location of the file,
   first second and last second. Documented in T2LifeFileManager doxygen.

-- sdet::Station now has a method to access crowns, GetCrown (int level).
   In this way, if one wants the 3rd crown one does:
   std::list< int > station.GetCrown(3)

-- sdet::SDetector has a new method to get station pairs.
   const std::list< std::pair<int, int > > &         GetStationPairList ()
   Accordingly, sdet::Station has the new methods:
   bool IsInPair() and
   int GetPartnerId()

-- sdet::Station has a method
   bool IsInGrid()
   that tells if the station is 'officially' in the grid (one per pair)

-- New station list manager takes station positions from a MySQL
   database which is regularly updated from the PMS.
   This manager is now taken as the default.  If you want to use
   the older XML file you will need to override the SManagerRegisterConfig
   and replace the SStationListSQLManager with the SStationListXMLManager.

-- New Rayleigh model implementing Bucholtz parametrization

-- New "dense" array manager, allowing one to define (hypothetical)
stations by position in the simulated shower coordinate system.
This differs from previous dense array generation tools in that
you only need to make a single run of the framework, no intermediate
files are created, you can produce as many showers per run as
you like, and you can specify any arbitrary geometry.  See the
examples in :
$prefix/share/auger-offline/doc/Examples/DenseArraySimulation
and:
$prefix/share/auger-offline/doc/Tutorials/GenerateDenseArray
where $prefix is the directory where the Offline framework is
installed. Note that sdet::Station contains a new method
bool IsDense() to indicate whether a Station belongs to the
"dense" array or not.

-- New Module SdEventPosteriorSelectorOG: implementation of the SD
selction criteria tailored for the ICRC 2005. Changed event IO
accordingly.

-- Added posibility to remove events in periods with known hardware
problems in the SdEventSelectorOG module

-- Updated ReferenceGuide with new eye candies and eyecatcher

-- New tools for overriding default configuration.  Now you can
specify one or more parameters that you wish to override in the
<parameterOverrides> section of your bootstrap file.
See the example in
$prefix/share/auger-offline/doc/Tutorials/OverrideConfig
where $prefix is the directory where the Offline framework is installed.

-- Added CDAS to Offline event structure converters. This opens the
opportunity of using the CDAS internal station calibration, selection and
event reconstruction algorithms from within the Offline framework.

-- New command line features:
   1) The "-b bootstrapFileName.xml" is now optional.  If you do not
      specify "-b" or "--bootstrap" on the command line, then the
      program will look for a bootstrap file called "bootstrap.xml"
      in the current directory.
      If you specify a "-b" or "--bootstrap" option, you must give
      a bootstrap filename.
   2) The autogenerated log file names have been discontinued (now
      log info is stored by default in the Offline ROOT file anyway).
      If you want to produce an XML log file, you must specify the
      name following the "-l" or "--log" option
   3) Message verbosity controllable from command line (-v)
   4) For details, use --help option.

-- Run configuration is now stored in the Offline (ROOT) files. This
data can later be extracted from the Offline file to produce an XML
bootstrap file.  See the DumpConfig directory in the Tutorials
area for an example of how to get the config data out of the
Offline file and into an XML file.

-- Several new examples in the Tutorials area illustrating how to
retrieve data from databases through both the high and low level
interfaces.

-- New interface to retrieve data from the overall atmospheric
quality database.  See the example in
$prefix/share/auger-offline/doc/Tutorials/ReadAtmQualityLL
where $prefix is the directory where the Offline framewok is installed.

-- Update MeasuredDBMieModel to select appropriate zone using zone
positions recorded in the database.  Also included wavelength
dependence in attenuation and scattering results.

-- Removed deprecated methods from Profile models. These methods were
of the form : double EvaluateXYZ(const double) const, and have been
replaced by methods which return a ProfileResult rather than a double.
A ProfileResult is essentially just a tabulated function containing
profile data. If you have code lying around which uses the deprecated
methods, you'll have to replace them.  For example, a call that reads:
  double depth500 = theAtmosphere.EvaluateDepth(500.*meter);
would need to be updated to :
  double depth500 theAtmosphere.EvaluateDepthVsHeight.Y(500.*m);
Note that a ProfileResult can also be interrogated to find the
range of validity for the ordinate, using the MaxX() and MinX() methods.
ProfileResults can also be constructed with either linear or log
binning in the ordinate and/or abscissa; this is useful in cases where
your data are distributed like an exponential, as it improves the
accuracy of the (linear) interpolation used in the ProfileResult:Y() method.


Changes for version 1.3 (minime)
================================

-- CONEX files are supported as input to (FD)-simulations
   EventFileReader supports now
     - CONEX (to read sequentially), and
     - CONEXRandom (to read randomly)
   See example FSimulation (bootstrap.conex.xml) for an example.

-- First draft implementation of Mie models using the database

-- All ProfileModels now return results pacakged in a ProfileResult object.
Previous methods returning doubles are deprecated and will disappear
in future release.

-- Extended particle types to include nuclei. Extended CORSIKA reader
to handle nuclear primaries.


Changes for version 1_2
=====================================================================

-- new EventBuilderOG module populates CDAS raw event from offline data
structures. This work used to be done by the EventFileReader.  Moving
the code to EventBuilder allows one to simulate with offline and reconstruct
with CDAS modules without first streaming to disk.  See the module
sequence in $prefix/share/auger-offline/doc/Examples/SSimulation

-- important bug fixes in ShowerRegenerator (which accounted for at least part
of the famous constant intensity problem)

-- important bug fixes in geometry package which caused EventGenerator to
throw showers repeatedly in the same position on the array (bug #289)

-- Event IO compatible with CDAS v4r2

-- Implemented high-level interface to Molecular DB.

-- Added a new directory doc/Tutorials intended to contain small examples
of specific tasks such as navigating the Event and Detector and using the
utilities.  Populated this directory with a few simple examples to start
things off.  Some new example sequences added to doc/Examples.

-- TimeStamp methods all now use convention that months are numbered
starting from 1 (not 0). New convenience methods added to this class and
deprecated SetUTCTime removed.

-- Implemented low level interfaces for new AerosolDB structure.

-- Added new coordinate system for the center of the southern
   site.

-- SdRecPlotter module updated with a lot of eye candy.

-- SdEventSelector module performs official event selection (GAP 2005-023).

-- RunController can perform some crude module cpu-time consumption measurements.


Changes for version 1_1
=======================

-- Updated databases

Fields were added or rearranged in the following databases:
Atm_Molecular
Atm_Aerosol
FD_Calilb
SD_Calib_Monitor

Version numbers of these DB's have been changed to 0_A.  You should
(re)create the databases at your institute and (re)sync them to the
new master DB's.

-- New version numbering scheme for releases

For details, see the wiki (www.auger.unam.mx/AugerWiki).

-- Preliminary machinery to control which parts of event are written to file

EventFileExporter now allows you to switch off certain streamers
when writing event in Offline native format.  This is useful in
cases where you might want to save disk space by excluding, for example,
large histgrams generated by intermediate steps in the tank simulators.
See the <StreamerSwitches> part of the
$prefix/share/auger-offline/config/EventFileExporter.xml
file for list of which items can currently be excluded from
streaming.


Changes for version 1_0_0
=========================

-- Validation for bootstrap.xml files moved from DTD to Schema (READ THIS ONE!)

The bootstrap.xml files are now validated using Schema rather than
DTD, as they previously were.  The bootstrap.xsd schema file is now installed
in the config area.  The bootstrap.dtd files that used to appear
in every directory with a bootstrap.xml file have been removed.

All examples have been updated accordingly, but unfortunately legacy
bootstrap files and Makefiles will have to slightly modified.
The easiest thing to do is emulate one of the example bootstrap.xml.in
and one of the Makefiles from $prefix/share/auger-offline/doc/Examples area.
In short, these are the changes you will need to make:

The DOCTYPE line changes from:
<!DOCTYPE bootstrap SYSTEM "./bootstrap.dtd" [
to:
<!DOCTYPE bootstrap [

(This removes the dtd validation)

The top tag of your bootstrap.xml.in file changes from:
  <bootstrap>
to:
  <bootstrap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation='@SCHEMALOCATION@/bootstrap.xsd'
             xmlns:xlink="http://www.auger.org/schema/types">

(This points your bootstrap file to it's validation file and defines some namespaces.)

In your Makefile, you need to add:

XMLSCHEMALOCATION =$(shell  $(AUGEROFFLINECONFIG) --schema-location)

and change the bootstrap.xml target to read:

bootstrap.xml: bootstrap.xml.in
        @echo -n "Generating bootstrap file..."
        @sed -e 's!@CONFIGDIR@!$(CONFIGFILES)!g;s!@SCHEMALOCATION@!$(XMLSCHEMALOCATION)!g' bootstrap.xml.in >bootstrap.xml
        @echo "done"

(This change to the Makefile just replaces @SCHEMALOCATION@ in the bootstrap.xml.in
file so that it points to the validation file in the $prefix/share/auger-offline/config area.

-- Changes to class fevt::EyeRecData

1. It is now possible to access a list of objects of type CordinateData,
thru function AddCoordinate(..) and iterators CoordinatesBegin(),
CoordinatesEnd(), etc. This is useful to do SDP and Time fit not on a per-pixel
but on a per-timeslot basis.

2. EyeRecData now contains an object of kind ShowerFRecShower, accessible
thru Make/Has/GetFRecShower(). This allows to store a longitudinal profile,
energy deposit, etc.. for each eye. This could affect your user module.

-- Default configurations for bootstrap.xml files

To make it easier to configure for common applications, some
default configuration files are now provided.  These can be included
in a bootstrap file by specifying at the top of the file an
alias (or  ENTITY,  in XML-ese) which is equated with a file on
disk containing the default configuration.  For example, the following
equates an alias defaultSDConfig with an xml file containing the default
configuration:

<!DOCTYPE bootstrap [
  <!-- alias for default SD config files -->
  <!ENTITY defaultSDConfig SYSTEM '@CONFIGDIR@/defaultSDConfig.xml'>
]>

where @CONFIGDIR@ is the location of the installed configuration files.
Now to include this default configuration in your own local boodstrap file,
specify the entity below the bootstrap file.  For example:

<bootstrap>

  <!-- get default configuration for SD -->
  &defaultSDConfig;

....

See {prefix}/share/auger-offline/doc/Examples/SSimulation/bootstrap.xml.in
(or one of the other bootstraps in the Examples area) for an example.

-- Atmosphere databases

The Atmosphere database was split into Molecular, Aerosol,
Cloud and OverallQuality databases so that people need only
mirror the atmospheric data they are interested in.
The cylinder slice model for Aerosol data was replaced with
a "zone" model which allows the definition of any number of
zones with (optional) slices in altitude at the time the data
are written in the database. The database readback in the
offline code can then reconstruct the zone and slice model used
when the data were written, and provides simple iterators to
access all the data contained therein.  The Molecular database design
was also updated to follow the zone model.  The corresponding readback for the
Molecular database was implemented, with iterators over zones
and altitude layers.  The profile_type field in the molecular database
is now used to determine the data source for Molecular data (eg.
weather station, radiosonde, US-StdA, etc.)

-- SD database

SD database we expanded to hold trigger rates and
a detailed PMTOK flag.  Some optimization of the DB
design carried out to improve access speed.

-- FD database

new fields for electronics gain added.

-- Schema Validation

Schema validation provided for most configuration files
used internally by the framework.  Schemas are also
provided for some of the modules.  Offline users writing modules
should use schema for checking their input XML files, rather
than writing their own validation directly in C++.

-- Configuration logging

The CentralConfig now keeps track of all configuration files
accessed during a run, and will optionally concatenate them into
a log file.  The log file can be viewed in a text editor or an
XML-capable web browser (eg newer versions of Mozilla).
Log files can also substitute the bootstrap file on the
command line in order to  reproduce a run with exactly the
same configuration used to generate the log file.
Log files are enabled with the "-l" option, eg.

userAugerOffline -b bootstrap.xml -l logfile.xml
 or
userAugerOffline -b bootstrap.xml -l

(In the second example, a log file name will be generated
automatically).  To run with the same configuration used to
generate the log file in the first example above, you would
do this:

userAugerOffline -b logfile.xml

-- Configuration: propagate CXXFLAGS

Propagate the CXXFLAGS variable from configure to the
auger-offline-config script. This way, the user Makefile can obtain
the options for optimisation, debugging, etc. that have been used when
building the offline.

-- Interface to IoAuger
Added handlers to the IoAuger data format.
It must be specified in the configuration of
EventFileReader, a new type io::eIoAuger has been
added.

-- Traces in PMTSimData

Added new objects to store the trace at the PMT base and after
the filter.  The FADC trace is now stored in a TimeDistributionI
rather than a TraceI.  This change was made to accomodate negative
time slots at the simulation level.

-- RunController handling of loops in module sequence files

Loop handling by RunController has been modified.  Now if you
want to save the event upon entering a loop you must specify that
in the loop tag, for example: <loop numTimes="10" save="yes">.
In such a case, the event is saved upon entering the loop and
copied to the current event before the first module inside that
loop is run.  Previously, this was the default behavior.
If you specify save="no" or leave that attribute  out
entirely, the event is not saved.  The first approach is
useful when preparing sequences to, for example, generate
multiple simulated showers from a single aires or corsika shower.
The second approach would be used when, for example, carrying
out an iterative sequence involving several modules.

-- Signal components in simulated Traces and TimeDistributions

Signal components now must be specified in the
SEvent interface as an sevt::Station::SignalComponent.
(previously an int was allowed.) The SignalComponent
enumerations have been augmented to include additional
signal sources.  See sevt::Station for details.


Changes for version 0.0.2 beta
==============================

-- Locating external packages and the installation location

  To simplify the installation, it is possible to use the environment
  variable AUGER_BASE to point to the root of the tree where all the Auger
  software lives. The layout of the tree is
    $AUGER_BASE/
      External/
        XercesC/
        CLHEP/
        BoostC++/
        Aires/
      CDAS/
        IoSd/
      FDEventLib/
      Offline/
  Packages that don't distinguish source and install trees (e.g., CDAS, that
  is built with CMT), get built directly in the tree. Others (like xercesc)
  have to be built with the install prefix set correctly. The pre-packaged
  distribution has that directory layout. The AUGEROFFLINEROOT variable can
  be set to $AUGER_BASE/Offline.


Changes for version 0.0.2 beta preview
======================================

-- Modules Registration mechanism

  Modules are now registered with the RunController using the macro
     REGISTER_MODULE("UserModule", UserModule);
  The macro must be the last line in the class declaration,just before "};"
  RegisterModule methods of the RunController have been removed.

-- Time distribution class

  Class TimeDistribution has been introduced to represent sparsely
  populated histograms, such as histograms of photoelectron release times.
  Methods in the Event which previously stored sparsely populated
  histograms (incorrectly) in Trace objects now store them in TimeDistribution
  objects.  Corresponding Getter and Setter names in the Event have
  been changed to reflect this.

-- Coordinate systems

  The convention for getting coordinate system from objects has been modified.
  If xxx is a detector component, then:
        - xxx.GetLocalCoordinateSystem() will return the Auger coordinate
          system ( x to east, z local vertical) that originates in xxx
        - xxx.GetxxxCoordinateSystem() will return the coordinate system
          of that component. For example, in case of an FD eye, the one with
          the x axis parallel to the backwall of the building.

-- Iterators

  Redundant iterator typedefs have been removed

  fevt::EyeRecData::SDPPixelIterator and
  fevt::EyeRecData::PulsedPixelIterator are now replaced by
  fevt::EyeRecData::PixelIterator

  sevt::PMT:: FADCHGTraceIterator and sevt::PMT::FADCLGTraceIterator
  are replaced by   sevt::PMT::FADCTraceIterator

-- OfflineUser package

  The OfflineUser package is no longer pertinent. Examples and skeleton code
  are distributed in the Offline/Documentation directory, and will get
  installed in prefix/share/auger-offline/doc

-- Database setup files and synchronization

  Database setup files and synchronization script have been moved from
  OfflineTools to Offline.  This means that the average user does not
  need to get OfflineTools in addition to Offline.  Upon installation,
  the DBCreatenSync.sh script is copied to $prefix/bin, and can be
  used to create new databases or to synchronize existing databases.

-- Database connection configuration

  The connection information for the offline databases is given during
  the configuration of the offline software. The configure script
  accepts the options
        --with-dbhost=
        --with-dbport=
        --with-dbuser=
        --with-dbpassword=
  If these options are not given, the configure script looks for
  information in the environment variables AUGER_DBHOST, AUGER_DBPORT,
  AUGER_DBUSER, and AUGER_DBPASSWORD. The fallback solution is to
  connect to the test server at Fermilab.

-- EyeRecData

  Besides the above changes on iterators, setting values for chisquares now
  requires that the Number Of Degrees of Freedom be set as well, as in :
     EyeRecData::SetTimeFitChiSquare(value, degreesOfFreedom)
  The getter to retrieve the Number Of Degrees of Freedom is GetTimeFitNDof();

, generated on Tue Sep 26 2023.