MarlinTrk  02.08
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MarlinAidaTT.h
Go to the documentation of this file.
1 #ifndef MarlinAidaTT_h
2 #define MarlinAidaTT_h
3 
5 
6 #include "DDRec/SurfaceManager.h"
7 
8 //LCIO:
9 #include "lcio.h"
10 #include "UTIL/BitField64.h"
11 #include "UTIL/LCTOOLS.h"
12 #include <LCRTRelations.h>
13 
14 #include "streamlog/streamlog.h"
15 
16 #include "TObjArray.h"
17 #include "TVector3.h"
18 
19 #include <cmath>
20 #include <vector>
21 
22 #include "aidaTT/AidaTT.hh"
23 #include "aidaTT/IGeometry.hh"
24 
25 namespace EVENT{
26  class TrackerHit ;
27 }
28 
29 namespace aidaTT{
30  class IGeometry ;
31  class IBField ;
32  class IFittingAlgorithm ;
33  class IPropagation ;
34 }
35 
36 namespace MarlinTrk{
37 
39 
40 
44 
45  public:
46 
47  friend class MarlinAidaTTTrack;
48 
49  // define some configuration constants
50  static const bool FitBackward = kIterBackward ;
51  static const bool FitForward = kIterForward ;
52  static const bool OrderOutgoing = true ;
53  static const bool OrderIncoming = false ;
54 
56  MarlinAidaTT() ;
57  MarlinAidaTT(const MarlinAidaTT&) = delete;
59 
61  ~MarlinAidaTT() ;
62 
64  void init() ;
65 
67  virtual std::string name() { return "AidaTT" ; }
68 
71 
72 
73  protected:
74 
75  // /** take multiple scattering into account during the fit */
76  // void includeMultipleScattering( bool on ) ;
77 
78  // /** take energy loss into account during the fit */
79  // void includeEnergyLoss( bool on ) ;
80 
81  // /** Store active measurement module IDs for a given TVKalDetector needed for navigation */
82  // void storeActiveMeasurementModuleIDs(TVKalDetector* detector);
83 
84  // /** Store active measurement module IDs needed for navigation */
85  // void getSensitiveMeasurementModules( int detElementID, std::vector< const DDVMeasLayer *>& measmodules) const;
86 
87  // /** Store active measurement module IDs needed for navigation */
88  // void getSensitiveMeasurementModulesForLayer( int layerID, std::vector<const DDVMeasLayer *>& measmodules) const;
89 
90  // // void init(bool MSOn, bool EnergyLossOn) ;
91  // bool is_initialised ;
92 
93  // //** find the measurment layer for a given hit
94  // const DDVMeasLayer* findMeasLayer( EVENT::TrackerHit * trkhit) const ;
95  // //** find the measurment layer for a given det element ID and point in space
96  // const DDVMeasLayer* findMeasLayer( int detElementID, const TVector3& point) const ;
97 
98  // // get the last layer crossed by the helix when extrapolating from the present position to the pca to point
99  // const DDVMeasLayer* getLastMeasLayer(THelicalTrack const& helix, TVector3 const& point) const ;
100 
101  // std::multimap< int,const DDVMeasLayer *> _active_measurement_modules;
102  // std::multimap< int,const DDVMeasLayer *> _active_measurement_modules_by_layer;
103 
104 
105  bool _useQMS=false;
106  bool _usedEdx=false;
107  bool _is_initialised=false;
108 
111 
112  const aidaTT::IGeometry* _geom=nullptr;
113  aidaTT::IBField* _bfield=nullptr;
114  aidaTT::IFittingAlgorithm* _fitter=nullptr;
115  aidaTT::IPropagation* _propagation=nullptr;
116 
117  } ;
118 
119 } // end of namespace MarlinTrk
120 
121 #endif
MarlinAidaTT()
Default c&#39;tor.
Definition: MarlinAidaTT.cc:37
aidaTT::IPropagation * _propagation
Definition: MarlinAidaTT.h:115
Interface to KaltTest Kalman fitter - instantiates and holds the detector geometry.
Definition: MarlinAidaTT.h:43
static const bool FitForward
Definition: MarlinAidaTT.h:51
aidaTT::IBField * _bfield
Definition: MarlinAidaTT.h:113
aidaTT::IFittingAlgorithm * _fitter
Definition: MarlinAidaTT.h:114
void init()
initialise track fitter system
Definition: MarlinAidaTT.cc:52
bool _useQMS
take multiple scattering into account during the fit
Definition: MarlinAidaTT.h:105
static const bool FitBackward
Definition: MarlinAidaTT.h:50
virtual std::string name()
the name of the implementation
Definition: MarlinAidaTT.h:67
STL class.
static const bool OrderOutgoing
Definition: MarlinAidaTT.h:52
std::multimap< long, const aidaTT::ISurface * > SurfMap
Definition: MarlinAidaTT.h:38
Interface for generic tracks in MarlinTrk.
Definition: IMarlinTrack.h:36
MarlinAidaTT & operator=(const MarlinTrk::MarlinAidaTT &)=delete
const aidaTT::IGeometry * _geom
Definition: MarlinAidaTT.h:112
SurfMap _surfMap
multi-map of surfaces
Definition: MarlinAidaTT.h:110
static const bool OrderIncoming
Definition: MarlinAidaTT.h:53
Base class for tracking system implementations in MarlinTrk.
MarlinTrk::IMarlinTrack * createTrack()
instantiate its implementation of the IMarlinTrack