10#include <tracking/trackFindingCDC/findlets/base/Findlet.h>
11#include <tracking/trackFindingCDC/findlets/minimal/EPreferredDirection.h>
13#include <tracking/trackFindingCDC/topology/ISuperLayer.h>
14#include <tracking/trackFindingCDC/topology/EWirePosition.h>
16#include <tracking/trackFindingCDC/geometry/Vector3D.h>
18#include <cdc/geometry/CDCGeometryParConstants.h>
20#include <framework/database/DBObjPtr.h>
21#include <cdc/dbobjects/CDClayerTimeCut.h>
37 namespace TrackFindingCDC {
114 std::array<float, ISuperLayerUtil::c_N>
m_maxDriftTimes = { -1, -1, -1, -1, -1, -1, -1, -1, -1};
Abstract Base class for the ADC count translator.
Base class for translation of Drift Time into Drift Length.
Class for accessing objects in the database.
The Module parameter list class.
Class representing a hit wire in the central drift chamber.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
A three dimensional vector.
std::string m_param_wirePosition
Parameter : Geometry set to be used. Either "base", "misalign" or " aligned".
EPreferredDirection m_flightTimeEstimation
Method for the initial time of flight estimation.
std::array< bool, ISuperLayerUtil::c_N > m_useSuperLayers
Bits for the used super layers.
void initialize() final
Signals the beginning of the event processing.
void beginRun() final
Signal the beginning of a new run.
EWirePosition m_wirePosition
Geometry set to be used.
std::vector< int > m_param_useMCParticleIds
Parameter : Indices of the Monte Carlo particles for which hits should be used.
std::tuple< double, double, double > m_param_triggerPoint
Parameter : Location of the flight time zero.
std::unique_ptr< CDC::TDCCountTranslatorBase > m_tdcCountTranslator
TDC Count translator to be used to calculate the initial dirft length estiamtes.
std::string getDescription() final
Short description of the findlet.
std::string m_param_flightTimeEstimation
Parameter : Method for the initial time of flight estimation as string.
~WireHitCreator()
Default destructor.
std::vector< uint > m_param_useLayers
Parameter : List of layers to be used.
DBObjPtr< CDClayerTimeCut > m_DBCDClayerTimeCut
Cut for approximate drift time (super-layer dependent)
std::vector< uint > m_param_ignoreLayers
Parameter : List of layers to be ignored in tracking e.g. for simulating too high occupancy.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
std::tuple< double, double > m_param_useDegreeSector
Parameter : Angular range in degrees for which hits should be unpacked.
std::array< bool, c_maxNSenseLayers > m_useLayers
Bits for the used layers.
WireHitCreator()
Default constructor.
std::unique_ptr< CDC::ADCCountTranslatorBase > m_adcCountTranslator
ADC Count translator to be used to calculate the charge deposit in the drift cell.
std::vector< int > m_param_useSuperLayers
Parameter : List of super layers to be used - mostly for debugging.
bool m_param_ignoreWireSag
Parameter : Switch to deactivate the sag of the wires for the concerns of the track finders.
void apply(std::vector< CDCWireHit > &outputWireHits) final
Main algorithm creating the wire hits.
std::array< Vector2D, 2 > m_useSector
Unit vectors denoting the sector for which hits should be created.
std::array< float, ISuperLayerUtil::c_N > m_maxDriftTimes
Cut for approximate drift time (super-layer dependent)
Findlet< CDCWireHit > Super
Type of the base class.
bool m_param_useBadWires
Parameter : If true, the hits on bad wires are not ignored.
std::vector< float > m_param_maxDriftTimes
Parameter : Cut for approximate drift time (super-layer dependent)
bool m_param_useSecondHits
Parameter : If true, the second hit information will be used to create Wire Hits.
Vector3D m_triggerPoint
Central location of the flight time zero position. Usually the location of the trigger.
HepGeom::Vector3D< double > Vector3D
3D Vector
Abstract base class for different kinds of events.