]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/MUON/src/Decision/IOInterface.hpp
Renaming file to fall inline with coding conventions.
[u/mrichter/AliRoot.git] / HLT / MUON / src / Decision / IOInterface.hpp
CommitLineData
8356cc1d 1////////////////////////////////////////////////////////////////////////////////
2//
3// Author: Artur Szostak
4// Email: artur@alice.phy.uct.ac.za | artursz@iafrica.com
5//
6////////////////////////////////////////////////////////////////////////////////
7
8#ifndef dHLT_DECISION_IO_INTERFACE_HPP
9#define dHLT_DECISION_IO_INTERFACE_HPP
10
11#include "BasicTypes.hpp"
12#include "EventID.hpp"
13#include "DecisionRecord.hpp"
14#include "Track.hpp"
15
16namespace dHLT
17{
18namespace Decision
19{
20
21
22class IOCallback;
23
24
25class IOInterface
26{
27public:
28
29 // Do not free memory of tracks until the corresponding ReleaseTracks
30 // method is called.
31
32 /* When found tracks are made available to the framework then it should
33 pass them on to a decision object using this method.
34 */
35 virtual void AddTracks(const EventID event, const Track* tracks, const UInt count) = 0;
36
37 /* When no more tracks can be found for the given event then this method
38 should be called.
39 */
40 virtual void EndOfTracks(const EventID event) = 0;
41
42};
43
44
45class IOCallback
46{
47public:
48
49 // Do not free the returned memory block until the ReturnDecision method
50 // is called for the memory block.
51 virtual DecisionRecord* AllocateDecisionBlock(const UInt size) = 0;
52
53 virtual void ReturnDecision(const EventID event, DecisionRecord* decision) = 0;
54
55 virtual void EndOfDecisions(const EventID event) = 0;
56
57 // Do not free track blocks until this method is called for the given block of memory.
58 virtual void ReleaseTracks(const Track* tracks) = 0;
59
60};
61
62
63} // Decision
64} // dHLT
65
66#endif // dHLT_DECISION_IO_INTERFACE_HPP