1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 //______________________________________________________________________________
6 // Task that produces some generic data to be exchanged with some consumers
8 //______________________________________________________________________________
10 #ifndef TASKEXCHANGE_H
11 #define TASKEXCHANGE_H
13 #ifndef ALIANALYSISTASKSE_H
14 #include "AliAnalysisTaskSE.h"
20 class TaskProducer : public AliAnalysisTaskSE {
23 TaskProducer(const char *name);
24 virtual ~TaskProducer();
26 virtual void UserCreateOutputObjects();
27 virtual void UserExec(Option_t *option);
30 TList *fOutput; //! Output list (do not stream)
31 TObjArray *fExchangedData; //! Arbitrary data (do not stream)
33 TaskProducer(const TaskProducer&); // not implemented
34 TaskProducer& operator=(const TaskProducer&); // not implemented
36 ClassDef(TaskProducer, 1); // example of producer
39 //______________________________________________________________________________
41 // Task that uses generic data produced by other tasks
43 //______________________________________________________________________________
45 class TaskConsumer : public AliAnalysisTaskSE {
48 TaskConsumer(const char *name);
49 virtual ~TaskConsumer();
51 virtual void UserCreateOutputObjects();
52 virtual void UserExec(Option_t *option);
55 TList *fOutput; //! Output list (do not stream)
56 TNamed *fImported1; //! Arbitrary data (do not stream)
57 TNamed *fImported2; //! Arbitrary data (do not stream)
59 TaskConsumer(const TaskConsumer&); // not implemented
60 TaskConsumer& operator=(const TaskConsumer&); // not implemented
62 ClassDef(TaskConsumer, 1); // example of consumer task