Logo ROOT   6.21/01
Reference Guide
REveTreeTools.hxx
Go to the documentation of this file.
1 // @(#)root/eve7:$Id$
2 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT7_REveTreeTools
13 #define ROOT7_REveTreeTools
14 
15 #include "TSelectorDraw.h"
16 #include "TEventList.h"
17 
18 namespace ROOT {
19 namespace Experimental {
20 
21 /////////////////////////////////////////////////////////////////////////////////
22 /// REveSelectorToEventList
23 /// TSelector that stores entry numbers of matching TTree entries into an event-list.
24 /////////////////////////////////////////////////////////////////////////////////
25 
27 {
30 
31 protected:
32  TEventList *fEvList{nullptr};
34 
35 public:
36  REveSelectorToEventList(TEventList *evl, const char *sel);
38 
39  virtual Int_t Version() const { return 1; }
40  virtual Bool_t Process(Long64_t entry);
41 
42  ClassDef(REveSelectorToEventList, 1); // TSelector that stores entry numbers of matching TTree entries into an event-list.
43 };
44 
45 /////////////////////////////////////////////////////////////////////////////////
46 /// REvePointSelectorConsumer
47 /// Virtual base for classes that can be filled from TTree data via the REvePointSelector class.
48 /////////////////////////////////////////////////////////////////////////////////
49 
50 class REvePointSelector;
51 
53 {
54 public:
56 
57 protected:
58  ETreeVarType_e fSourceCS; // Coordinate-System of the source tree variables
59 
60 public:
63 
64  virtual void InitFill(Int_t /*subIdNum*/) {}
65  virtual void TakeAction(REvePointSelector *) = 0;
66 
67  ETreeVarType_e GetSourceCS() const { return fSourceCS; }
69 };
70 
71 /////////////////////////////////////////////////////////////////////////////////
72 /// REvePointSelector
73 /// TSelector for direct extraction of point-like data from a Tree.
74 /////////////////////////////////////////////////////////////////////////////////
75 
77 {
78  REvePointSelector(const REvePointSelector &) = delete;
80 
81 protected:
82  TTree *fTree{nullptr};
84 
87 
90 
92 
93 public:
94  REvePointSelector(TTree *t = nullptr, REvePointSelectorConsumer *c = nullptr, const char *vexp = "", const char *sel = "");
95  virtual ~REvePointSelector() {}
96 
97  virtual Long64_t Select(const char *selection = nullptr);
98  virtual Long64_t Select(TTree *t, const char *selection = nullptr);
99  virtual void TakeAction();
100 
101  TTree *GetTree() const { return fTree; }
102  void SetTree(TTree *t) { fTree = t; }
103 
106 
107  const char *GetVarexp() const { return fVarexp; }
108  void SetVarexp(const char *v) { fVarexp = v; }
109 
110  const char *GetSelection() const { return fSelection; }
111  void SetSelection(const char *s) { fSelection = s; }
112 
113  const char *GetSubIdExp() const { return fSubIdExp; }
114  void SetSubIdExp(const char *s) { fSubIdExp = s; }
115 
116  Int_t GetSubIdNum() const { return fSubIdNum; }
117 
118  ClassDef(REvePointSelector, 1); // TSelector for direct extraction of point-like data from a Tree.
119 };
120 
121 } // namespace Experimental
122 } // namespace ROOT
123 
124 #endif
REveSelectorToEventList TSelector that stores entry numbers of matching TTree entries into an event-l...
REvePointSelectorConsumer(ETreeVarType_e cs=kTVT_XYZ)
long long Long64_t
Definition: RtypesCore.h:69
Returns the available number of logical cores.
Definition: StringConv.hxx:21
REveSelectorToEventList & operator=(const REveSelectorToEventList &)=delete
Basic string class.
Definition: TString.h:131
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual void TakeAction(REvePointSelector *)=0
void SetConsumer(REvePointSelectorConsumer *c)
virtual void TakeAction()
Callback from tree-player after a chunk of data has been processed.
REvePointSelector(const REvePointSelector &)=delete
#define ClassDef(name, id)
Definition: Rtypes.h:326
REveSelectorToEventList(const REveSelectorToEventList &)=delete
static constexpr double s
A doubly linked list.
Definition: TList.h:44
REvePointSelector TSelector for direct extraction of point-like data from a Tree. ...
REvePointSelectorConsumer * fConsumer
A TEventList object is a list of selected events (entries) in a TTree.
Definition: TEventList.h:31
virtual Bool_t Process(Long64_t entry)
Process entry.
A specialized TSelector for TTree::Draw.
Definition: TSelectorDraw.h:31
virtual Long64_t Select(const char *selection=nullptr)
Process the tree, select points matching 'selection'.
REvePointSelector & operator=(const REvePointSelector &)=delete
#define c(i)
Definition: RSha256.hxx:101
A TTree represents a columnar dataset.
Definition: TTree.h:72
REvePointSelectorConsumer * GetConsumer() const