//
////////////////////////////////////////////////////////////////////////////////
-#ifndef dHLT_TRACKING_TRACKER_HPP
-#define dHLT_TRACKING_TRACKER_HPP
+#ifndef ALIHLTMUONCORETRACKER_H
+#define ALIHLTMUONCORETRACKER_H
#include "BasicTypes.hpp"
#include "TriggerRecord.hpp"
#include "Utils.hpp"
-namespace dHLT
-{
-namespace Tracking
-{
-
+class AliHLTMUONCoreTracker;
-class Tracker;
-
-class TrackerCallback
+class AliHLTMUONCoreTrackerCallback
{
public:
- virtual ~TrackerCallback() {};
+ virtual ~AliHLTMUONCoreTrackerCallback() {};
/* All clusters that fall within the specified boundary box on the specified
chamber should be returned to the tracker, by calling the ReturnClusters
ReturnClusters method's parameter list.
*/
virtual void RequestClusters(
- Tracker* tracker,
+ AliHLTMUONCoreTracker* tracker,
Float left, Float right, Float bottom, Float top,
- ChamberID chamber, const void* tag
+ AliHLTMUONCoreChamberID chamber, const void* tag
) = 0;
/* When this method is called then one knows no more RequestClusters method
calls are expected.
*/
- virtual void EndOfClusterRequests(Tracker* tracker) = 0;
+ virtual void EndOfClusterRequests(AliHLTMUONCoreTracker* tracker) = 0;
/* This method is called when the tracker has found a track. The FillTrackData
method of the given tracker should be called to receive the track data.
At this point all cluster blocks can be released.
*/
- virtual void FoundTrack(Tracker* tracker) = 0;
+ virtual void FoundTrack(AliHLTMUONCoreTracker* tracker) = 0;
/* When the tracker is finished with its work but no track was found then
this method is called. At this point no more work should be performed by
the tracker and all cluster blocks can be released.
*/
- virtual void NoTrackFound(Tracker* tracker) = 0;
+ virtual void NoTrackFound(AliHLTMUONCoreTracker* tracker) = 0;
};
-class Tracker
+class AliHLTMUONCoreTracker
{
public:
- Tracker()
+ AliHLTMUONCoreTracker()
{
- callback = NULL;
+ fCallback = NULL;
};
- virtual ~Tracker() {};
+ virtual ~AliHLTMUONCoreTracker() {};
/* This is the starting point for the tracking algorithm. The tracker is
called at this point with the specified trigger record. It needs to figure
RequestClusters.
Any memory allocated at this point should be released in the Reset method.
*/
- virtual void FindTrack(const TriggerRecord& trigger) = 0;
+ virtual void FindTrack(const AliHLTMUONCoreTriggerRecord& trigger) = 0;
/* When requested clusters have been found by the framework they are returned
to the tracker using this method.
made using RequestClusters. The tag parameter will be the same one as was
passed to RequestClusters.
*/
- virtual void ReturnClusters(void* tag, const ClusterPoint* clusters, UInt count) = 0;
+ virtual void ReturnClusters(void* tag, const AliHLTMUONCoreClusterPoint* clusters, UInt count) = 0;
/* When no more clusters are to be expected for the request with the corresponding
tag value, then this method is called.
Note: the track.triggerid field need not be filled in this method. It should
be overwritten by the caller.
*/
- virtual void FillTrackData(Track& track) = 0;
+ virtual void FillTrackData(AliHLTMUONCoreTrack& track) = 0;
/* Called when the tracker should be reset to a initial state.
All extra internal allocated data structured should be released.
/* To set the TrackerCallback callback object.
*/
- inline void SetCallback(TrackerCallback* callback)
+ inline void SetCallback(AliHLTMUONCoreTrackerCallback* callback)
{
- this->callback = callback;
+ fCallback = callback;
};
protected:
*/
inline void RequestClusters(
Float left, Float right, Float bottom, Float top,
- ChamberID chamber, const void* tag = NULL
+ AliHLTMUONCoreChamberID chamber, const void* tag = NULL
)
{
- Assert( callback != NULL );
- callback->RequestClusters(this, left, right, bottom, top, chamber, tag);
+ Assert( fCallback != NULL );
+ fCallback->RequestClusters(this, left, right, bottom, top, chamber, tag);
};
/* When no more cluster requests will be generated by this tracker then this
*/
inline void EndOfClusterRequests()
{
- Assert( callback != NULL );
- callback->EndOfClusterRequests(this);
+ Assert( fCallback != NULL );
+ fCallback->EndOfClusterRequests(this);
};
/* When the tracker has found a track it should call this method to inform
*/
inline void FoundTrack()
{
- Assert( callback != NULL );
- callback->FoundTrack(this);
+ Assert( fCallback != NULL );
+ fCallback->FoundTrack(this);
};
/* If the tracker is finished processing the trigger record but has not found
*/
inline void NoTrackFound()
{
- Assert( callback != NULL );
- callback->NoTrackFound(this);
+ Assert( fCallback != NULL );
+ fCallback->NoTrackFound(this);
};
private:
- TrackerCallback* callback;
+ AliHLTMUONCoreTrackerCallback* fCallback;
};
-} // Tracking
-} // dHLT
-
-#endif // dHLT_TRACKING_TRACKER_HPP
+#endif // ALIHLTMUONCORETRACKER_H