eutelescope/eutelescope — pull request #68 by rubinsky (2014-05-27 18:49:51+00:00)
Title: merged eutelescop/master with GBL/TGeo hit navigation

- initial functionality with track swim from volume to volume via TGeo classes
- pattern recognition (first order of Kalman Filter)
- new concept of fitted hits using EUTelTrackState(Impl) -> in Cartesian system (not Cylindrical)
- new concept of a track with fitted hits and a vector of links to measured hits
-- fitted hits = vec of track states: ref point + sensorID + track incidence (to normal to the detector surface) + X, Y incidence point of a track on the detector surface
-- measured hits are stored as a vector of links to the Hit Collection objects which contain links to the Cluster Collection objects
- new EUTelGBLFitter class *should* contain all functionality for the GBL based processors
-- the basic requirement -> conversion from EUTelTrackImpl objects to GBLTrajectory
-- GBLTrajectory processor -> reads-in lcio tracks, converts to GBLTrajectory (with Scatterers=> to-do: implement scatterers in the gear-TGeo description class) and fits, the result is converted back to lcio track (IMPL::TrackImpl)
-- GBL-Millepede alignment processor -> similar to the above, but, reads-in lcio tracks, converts to GBL trajectory *without scatterers*, but, *with* global derivatives asigned to the measurement points, and dumps to a *mille* binary file. The Millepede approach Matrix Solution, is performed by calling external *pede* executable. the result of the *pede* is saved eventually in the lcio type database, and the original geometry coming from the GEAR file is corrected by the alignment constants and saved into a new GEAR xml file, which can serve as a new starting point for the iterative alignment procedure.

to-do:
- TrackCandidates building should be validated with new TGeo (from the branch of Tobias)
- EUTelTrackImpl should be saved directly in the output lcio files, by passing the conversion step to lcio type IMPL::TrackImpl
- Millepede processor to be validated // the code is present, and was tested in one of the previous (closed) branches
- DUT analysis processor: can use EUTelTrackImpl records directly without additional data processing (!)