Project
Loading...
Searching...
No Matches
GPUDisplayInterface.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef GPUDISPLAYINTERFACE_H
16#define GPUDISPLAYINTERFACE_H
17
18#include "GPUSettings.h"
19
20namespace o2::gpu
21{
22
23class GPUChainTracking;
24class GPUQA;
25struct GPUParam;
27{
28 public:
30 virtual ~GPUDisplayInterface();
31 virtual int32_t StartDisplay() = 0;
32 virtual void ShowNextEvent(const GPUTrackingInOutPointers* ptrs = nullptr) = 0;
33 virtual void WaitForNextEvent() = 0;
34 virtual void SetCollisionFirstCluster(uint32_t collision, int32_t sector, int32_t cluster) = 0;
35 virtual void UpdateCalib(const GPUCalibObjectsConst* calib) = 0;
36 virtual void UpdateParam(const GPUParam* param) = 0;
37 static GPUDisplayInterface* getDisplay(GPUDisplayFrontendInterface* frontend, GPUChainTracking* chain, GPUQA* qa, const GPUParam* param = nullptr, const GPUCalibObjectsConst* calib = nullptr, const GPUSettingsDisplay* config = nullptr);
38
39 protected:
41};
42
44{
45 public:
47 static GPUDisplayFrontendInterface* getFrontend(const char* type);
48 virtual void DisplayExit() = 0;
49 virtual bool EnableSendKey() = 0;
50 virtual int32_t getDisplayControl() const = 0;
51 virtual int32_t getSendKey() const = 0;
52 virtual int32_t getNeedUpdate() const = 0;
53 virtual void setDisplayControl(int32_t v) = 0;
54 virtual void setSendKey(int32_t v) = 0;
55 virtual void setNeedUpdate(int32_t v) = 0;
56 virtual const char* frontendName() const = 0;
57
58 protected:
60};
61
62} // namespace o2::gpu
63
64#endif // GPUDISPLAYINTERFACE_H
GPUChain * chain
virtual void setSendKey(int32_t v)=0
static GPUDisplayFrontendInterface * getFrontend(const char *type)
virtual int32_t getSendKey() const =0
virtual void setDisplayControl(int32_t v)=0
virtual int32_t getDisplayControl() const =0
virtual int32_t getNeedUpdate() const =0
virtual void setNeedUpdate(int32_t v)=0
virtual const char * frontendName() const =0
virtual void ShowNextEvent(const GPUTrackingInOutPointers *ptrs=nullptr)=0
virtual void UpdateCalib(const GPUCalibObjectsConst *calib)=0
virtual void SetCollisionFirstCluster(uint32_t collision, int32_t sector, int32_t cluster)=0
static GPUDisplayInterface * getDisplay(GPUDisplayFrontendInterface *frontend, GPUChainTracking *chain, GPUQA *qa, const GPUParam *param=nullptr, const GPUCalibObjectsConst *calib=nullptr, const GPUSettingsDisplay *config=nullptr)
virtual void UpdateParam(const GPUParam *param)=0
virtual int32_t StartDisplay()=0
virtual void WaitForNextEvent()=0
GPUDisplayInterface(const GPUDisplayInterface &)=delete
const GLdouble * v
Definition glcorearb.h:832
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275
GLenum GLfloat param
Definition glcorearb.h:271