ATLAS Offline Software
WorkFactory.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGACCELEVENT_WORKFACTORY_H
6 #define TRIGACCELEVENT_WORKFACTORY_H
7 
8 #include <iostream>
9 #include <vector>
10 #include <memory>
11 
12 #include "Work.h"
13 
14 namespace TrigAccel {
15 
16  class WorkFactory{
17  public:
19  virtual ~WorkFactory(){};
20  virtual bool configure() = 0;
21  virtual Work* createWork(int, std::shared_ptr<OffloadBuffer> data) = 0;
22  virtual const std::vector<int> getProvidedAlgs() = 0;
23  virtual int getFactoryId() = 0;
24  };
25 
26 }
27 
28 #endif
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
TrigAccel::WorkFactory::~WorkFactory
virtual ~WorkFactory()
Definition: WorkFactory.h:19
TrigAccel::WorkFactory::createWork
virtual Work * createWork(int, std::shared_ptr< OffloadBuffer > data)=0
TrigAccel::WorkFactory::getFactoryId
virtual int getFactoryId()=0
TrigAccel::WorkFactory::configure
virtual bool configure()=0
TrigAccel::Work
Definition: Work.h:14
TrigAccel::WorkFactory::WorkFactory
WorkFactory()
Definition: WorkFactory.h:18
TrigAccel::WorkFactory
Definition: WorkFactory.h:16
TrigAccel
Definition: DataExportBuffer.h:12
Work.h
TrigAccel::WorkFactory::getProvidedAlgs
virtual const std::vector< int > getProvidedAlgs()=0