File indexing completed on 2024-04-06 12:22:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef L1_TRACK_TRIGGER_STUB_ALGO_BASE_H
0016 #define L1_TRACK_TRIGGER_STUB_ALGO_BASE_H
0017
0018 #include "MagneticField/Engine/interface/MagneticField.h"
0019 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0020 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0021 #include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
0022
0023 #include <sstream>
0024 #include <string>
0025 #include <map>
0026 #include "classNameFinder.h"
0027
0028 template <typename T>
0029 class TTStubAlgorithm {
0030 protected:
0031
0032 const TrackerGeometry *const theTrackerGeom_;
0033 const TrackerTopology *const theTrackerTopo_;
0034 std::string className_;
0035
0036 public:
0037
0038 TTStubAlgorithm(const TrackerGeometry *const theTrackerGeom,
0039 const TrackerTopology *const theTrackerTopo,
0040 std::string fName)
0041 : theTrackerGeom_(theTrackerGeom), theTrackerTopo_(theTrackerTopo) {
0042 className_ = classNameFinder<T>(fName);
0043 }
0044
0045
0046 virtual ~TTStubAlgorithm() {}
0047
0048
0049 virtual void PatternHitCorrelation(
0050 bool &aConfirmation, int &aDisplacement, int &anOffset, float &anHardBend, const TTStub<T> &aTTStub) const {}
0051
0052
0053
0054 virtual std::string AlgorithmName() const { return className_; }
0055
0056 };
0057
0058 #endif