Logo ROOT  
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
18namespace ROOT {
19namespace Experimental {
20
21/////////////////////////////////////////////////////////////////////////////////
22/// REveSelectorToEventList
23/// TSelector that stores entry numbers of matching TTree entries into an event-list.
24/////////////////////////////////////////////////////////////////////////////////
25
27{
30
31protected:
34
35public:
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
50class REvePointSelector;
51
53{
54public:
56
57protected:
58 ETreeVarType_e fSourceCS; // Coordinate-System of the source tree variables
59
60public:
63
64 virtual void InitFill(Int_t /*subIdNum*/) {}
65 virtual void TakeAction(REvePointSelector *) = 0;
66
69};
70
71/////////////////////////////////////////////////////////////////////////////////
72/// REvePointSelector
73/// TSelector for direct extraction of point-like data from a Tree.
74/////////////////////////////////////////////////////////////////////////////////
75
77{
78 REvePointSelector(const REvePointSelector &); // Not implemented
79 REvePointSelector &operator=(const REvePointSelector &); // Not implemented
80
81protected:
82 TTree *fTree{nullptr};
84
87
90
92
93public:
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
#define c(i)
Definition: RSha256.hxx:101
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:69
#define ClassDef(name, id)
Definition: Rtypes.h:326
virtual void TakeAction(REvePointSelector *)=0
REvePointSelectorConsumer(ETreeVarType_e cs=kTVT_XYZ)
REvePointSelector TSelector for direct extraction of point-like data from a Tree.
virtual void TakeAction()
Callback from tree-player after a chunk of data has been processed.
REvePointSelectorConsumer * GetConsumer() const
REvePointSelectorConsumer * fConsumer
REvePointSelector(const REvePointSelector &)
void SetConsumer(REvePointSelectorConsumer *c)
virtual Long64_t Select(const char *selection=nullptr)
Process the tree, select points matching 'selection'.
REvePointSelector & operator=(const REvePointSelector &)
REveSelectorToEventList TSelector that stores entry numbers of matching TTree entries into an event-l...
REveSelectorToEventList & operator=(const REveSelectorToEventList &)
REveSelectorToEventList(const REveSelectorToEventList &)
virtual Bool_t Process(Long64_t entry)
Process entry.
A TEventList object is a list of selected events (entries) in a TTree.
Definition: TEventList.h:31
A doubly linked list.
Definition: TList.h:44
A specialized TSelector for TTree::Draw.
Definition: TSelectorDraw.h:31
Basic string class.
Definition: TString.h:131
A TTree represents a columnar dataset.
Definition: TTree.h:72
VSD Structures.
Definition: StringConv.hxx:21
static constexpr double s