10 #include <framework/datastore/StoreArray.h>
11 #include <framework/core/ModuleParamList.h>
12 #include <framework/geometry/B2Vector3.h>
13 #include <framework/database/DBObjPtr.h>
14 #include <mdst/dbobjects/BeamSpot.h>
15 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
16 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
17 #include <tracking/vxdHoughTracking/entities/VXDHoughState.h>
18 #include <tracking/spacePointCreation/SpacePoint.h>
19 #include <vxd/geometry/GeoCache.h>
29 namespace vxdHoughTracking {
83 B2INFO(
"DATCON uses following BeamSpot: " <<
88 void apply(std::vector<const SpacePoint*>& spacePoints, std::vector<VXDHoughState>& hits)
override
100 spacePoints.emplace_back(&spacePoint);
DataType Z() const
access variable Z (= .at(2) without boundary check)
DataType X() const
access variable X (= .at(0) without boundary check)
DataType Y() const
access variable Y (= .at(1) without boundary check)
void SetXYZ(DataType x, DataType y, DataType z)
set all coordinates using data type
This class contains the beam spot position and size modeled as a gaussian distribution in space.
const TVector3 & getIPPosition() const
Get the IP position.
Class for accessing objects in the database.
The Module parameter list class.
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
int getEntries() const
Get the number of objects in the array.
void initialize() override
Receive and dispatch signal before the start of the event processing.
void beginRun() override
Receive and dispatch signal for the beginning of a new run.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
virtual void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix)
Forward prefixed parameters of this findlet to the module parameter list.
Interface for an algorithm part that needs to receive the module processing signals.
Findlet for loading SVDClusters that were created by the DATCONSVDSimpleClusterizerModule and prepare...
SpacePointLoaderAndPreparer()
Load clusters and prepare them for intercept finding.
double m_param_minimumVClusterTime
Minimum v cluster time.
B2Vector3D m_BeamSpotPosition
B2Vector3D actually contining the BeamSpot position. This will be passed on to the VXDHoughState for ...
void apply(std::vector< const SpacePoint * > &spacePoints, std::vector< VXDHoughState > &hits) override
Load the SVD SpacePoints and create a VXDHoughState object for each hit.
void initialize() override
Create the store arrays.
double m_param_maximumUClusterTime
Maximum u cluster time.
StoreArray< SpacePoint > m_storeSpacePoints
Input SpacePoints Store Array.
DBObjPtr< BeamSpot > m_BeamSpotDB
BeamSpot from DB.
void beginRun() override
Retrieve the BeamSpot from DB.
std::string m_param_SVDSpacePointStoreArrayName
StoreArray name of the input Track Store Array.
BeamSpot m_BeamSpot
Actual BeamSpot.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters of the sub findlets.
double m_param_maximumVClusterTime
Maximum v cluster time.
double m_param_minimumUClusterTime
Minimum u cluster time.
Simple container for hit information to be used during intercept finding.
void addParameter(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module list.
Abstract base class for different kinds of events.