CbmRoot
Loading...
Searching...
No Matches
CbmMvdSensorPlugin.h
Go to the documentation of this file.
1/* Copyright (C) 2014-2016 Institut fuer Kernphysik, Goethe-Universitaet Frankfurt, Frankfurt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Michael Deveaux, Philipp Sitzmann [committer], Florian Uhlig */
4
5// ------------------------------------------------------------------------
6// ----- CbmMvdSensorPlugin header file -----
7// ----- Created 02/02/12 by M. Deveaux -----
8// ------------------------------------------------------------------------
9
17#ifndef CBMMVDSENSORPLUGIN_H
18#define CBMMVDSENSORPLUGIN_H 1
19
20#include <Logger.h> // for LOG
21
22#include <Rtypes.h> // for ClassDef
23#include <RtypesCore.h> // for Bool_t, Int_t, kTRUE
24#include <TObjArray.h> // for TObjArray
25#include <TObject.h> // for TObject
26
27class TBuffer;
28class TClass;
29class TClonesArray; // lines 24-24
30class TMemberInspector;
31class TH1;
32
38
39class CbmMvdSensorPlugin : public TObject {
40
41public:
44 CbmMvdSensorPlugin(const char* name);
45
47 virtual ~CbmMvdSensorPlugin();
48
50 virtual Int_t GetPluginIDNumber() { return fPluginIDNumber; }
51 virtual void Init() { ; }
52 virtual void Exec() { ; }
53 virtual void ExecChain() { ; }
54 virtual void Finish() { ; };
55
56 virtual TClonesArray* GetInputArray() { return 0; }
57 virtual TClonesArray* GetOutputArray() { return 0; }
58 virtual TClonesArray* GetMatchArray() { return 0; }
59 virtual TClonesArray* GetWriteArray() { return 0; }
60 virtual TH1* GetHistogram(UInt_t number);
61 virtual UInt_t GetMaxHistoNumber()
62 {
63 if (fHistoArray) { return fHistoArray->GetEntriesFast(); }
64 else
65 return -1;
66 }
67
68 virtual void SetInputArray(TClonesArray*) { ; }
69 virtual void SetInput(TObject*) { LOG(error) << "You are sending input to the base class instead to your plugin!"; }
70 virtual void SetOutputArray(TClonesArray*) { ; }
71
72 virtual void SetNextPlugin(CbmMvdSensorPlugin* plugin) { fNextPlugin = plugin; }
73 virtual void SetPreviousPlugin(CbmMvdSensorPlugin* plugin) { fPreviousPlugin = plugin; }
74
77
78 bool PluginReady() { return (bFlag); };
79 void SetPluginReady(bool flag) { bFlag = flag; }
81 virtual const char* GetName() const { return fName; }
82 Bool_t IsInit() { return (initialized); }
87
88protected:
89 bool bFlag;
92 const char* fName;
93 Int_t fPluginIDNumber; // Identifier for the Plugin for debugging purposes. Hardcode in implementation please.
94 TObjArray* fHistoArray; // Array to hold and manage histograms for debugging.
95
96private:
99
101};
102
103
104#endif
MvdSensorPluginType
virtual CbmMvdSensorPlugin * GetNextPlugin()
CbmMvdSensorPlugin & operator=(const CbmMvdSensorPlugin &)
virtual Int_t GetPluginIDNumber()
virtual void SetNextPlugin(CbmMvdSensorPlugin *plugin)
virtual TClonesArray * GetWriteArray()
virtual TClonesArray * GetOutputArray()
virtual TClonesArray * GetInputArray()
virtual TH1 * GetHistogram(UInt_t number)
CbmMvdSensorPlugin * fPreviousPlugin
virtual MvdSensorPluginType GetPluginType()=0
virtual void SetInput(TObject *)
virtual TClonesArray * GetMatchArray()
virtual void SetInputArray(TClonesArray *)
virtual void ExecChain()
virtual const char * GetName() const
virtual void SetOutputArray(TClonesArray *)
CbmMvdSensorPlugin(const CbmMvdSensorPlugin &)
CbmMvdSensorPlugin * fNextPlugin
ClassDef(CbmMvdSensorPlugin, 1)
virtual CbmMvdSensorPlugin * GetPrevousPlugin()
void SetPluginReady(bool flag)
virtual UInt_t GetMaxHistoNumber()
virtual void SetPreviousPlugin(CbmMvdSensorPlugin *plugin)