8 #include "aidaTT/IBField.hh"
9 #include "aidaTT/ConstantSolenoidBField.hh"
10 #include "aidaTT/analyticalPropagation.hh"
11 #include "aidaTT/simplifiedPropagation.hh"
12 #include "aidaTT/GBLInterface.hh"
13 #include "aidaTT/fitResults.hh"
14 #include "aidaTT/Vector5.hh"
15 #include "aidaTT/utilities.hh"
16 #include "aidaTT/LCIOPersistency.hh"
17 #include "aidaTT/Vector3D.hh"
18 #include "aidaTT/IGeometry.hh"
21 #include "DD4hep/Detector.h"
22 #include "DD4hep/Fields.h"
23 #include "DD4hep/DD4hepUnits.h"
32 #include "streamlog/streamlog.h"
41 streamlog_out( DEBUG4 ) <<
" MarlinAidaTT - constructed " <<
std::endl ;
58 streamlog_out( DEBUG5 ) <<
" -------------------------------------------------------------------------------- " <<
std::endl ;
59 streamlog_out( DEBUG5 ) <<
" MarlinAidaTT::init() called with the following options : " <<
std::endl ;
60 streamlog_out( DEBUG5 ) << this->
getOptions() ;
61 streamlog_out( DEBUG5 ) <<
" -------------------------------------------------------------------------------- " <<
std::endl ;
65 streamlog_out( DEBUG5 ) <<
" MarlinAidaTT::init() - already initialized - only options are set .. " <<
std::endl ;
71 streamlog_out( DEBUG5 ) <<
" ##################### MarlinAidaTT::init() - initializing " <<
std::endl ;
73 dd4hep::Detector& theDetector = dd4hep::Detector::getInstance();
76 double origin[3] = { 0., 0., 0. }, bfield[3] ;
77 theDetector.field().magneticField( origin , bfield ) ;
79 _bfield =
new aidaTT::ConstantSolenoidBField( bfield[2] / dd4hep::tesla ) ;
85 _fitter =
new aidaTT::GBLInterface();
87 _geom = & aidaTT::IGeometry::instance() ;
107 errorMsg <<
"MarlinAidaTT::createTrack: Fitter not initialised. MarlinAidaTT::init() must be called before MarlinAidaTT::createTrack()" <<
std::endl ;
MarlinAidaTT()
Default c'tor.
void registerOptions()
Register the possible configuration options.
aidaTT::IPropagation * _propagation
static const unsigned usedEdx
Use multiple scattering in the track fits.
aidaTT::IBField * _bfield
aidaTT::IFittingAlgorithm * _fitter
void init()
initialise track fitter system
bool _useQMS
take multiple scattering into account during the fit
Interface for generic tracks in MarlinTrk.
const aidaTT::IGeometry * _geom
bool getOption(unsigned CFGOption)
Return the option's current value - false if option not defined.
friend class MarlinAidaTTTrack
SurfMap _surfMap
multi-map of surfaces
std::string getOptions()
String with all configuration options and their current values.
Exception thrown in IMarlinTrk namespace (implemetations of IMarlinTrkSystem and IMarlinTrack).
MarlinTrk::IMarlinTrack * createTrack()
instantiate its implementation of the IMarlinTrack
static const unsigned useQMS
Use multiple scattering in the track fits.