]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveBase/AliEveMacro.h
Prototype implementation of tags for macro selection.
[u/mrichter/AliRoot.git] / EVE / EveBase / AliEveMacro.h
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9
10 #ifndef AliEveMacro_H
11 #define AliEveMacro_H
12
13 #include <TObject.h>
14 #include <TString.h>
15
16 //______________________________________________________________________________
17 // Short description of AliEveMacro
18 //
19
20 class AliEveMacro : public TObject
21 {
22   friend class AliEveMacroEditor;
23
24 public:
25   enum DataSource_e { kNone = 0, kRunLoader, kESD, kESDfriend, kRawReader };
26
27   AliEveMacro(Int_t src, const TString& tags, const TString& mac, const TString& foo,
28               const TString& args="", Bool_t act=kTRUE);
29   virtual ~AliEveMacro() {}
30
31   Int_t          GetSources() const         { return fSources; }
32   void           SetSources(Int_t x)        { fSources = x; }
33   const TString& GetTags() const            { return fTags; }
34   void           SetTags(const TString& x)  { fTags = x; }
35   const TString& GetMacro() const           { return fMacro; }
36   void           SetMacro(const TString& x) { fMacro = x; }
37   const TString& GetFunc() const            { return fFunc; }
38   void           SetFunc(const TString& x)  { fFunc = x; }
39   const TString& GetArgs() const            { return fArgs; }
40   void           SetArgs(const TString& x)  { fArgs = x; }
41   Bool_t         GetActive() const          { return fActive; }
42   void           SetActive(Bool_t x)        { fActive = x; }
43
44   TString        FormForExec() const;
45   TString        FormForDisplay() const;
46
47 protected:
48   Int_t   fSources; // Source of data.
49   TString fTags;    // Tags describing the macro (for selection).
50   TString fMacro;   // Macro where func is defined; if null, assume it is there.
51   TString fFunc;    // Function to call.
52   TString fArgs;    // Arguments for the function.
53   Bool_t  fActive;  // Flag if macro is active.
54
55 private:
56
57   ClassDef(AliEveMacro, 0); // Short description.
58 };
59
60 #endif