ROOT
6.30.04
Reference Guide
All
Namespaces
Files
Pages
TSelectorScalar.cxx
Go to the documentation of this file.
1
// @(#)root/tree:$Id$
2
// Author: Maarten Ballintijn 13/02/2005
3
4
/*************************************************************************
5
* Copyright (C) 1995-2005, 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
/** \class TSelectorScalar
13
\ingroup tree
14
15
Named scalar type, based on Long64_t, streamable, storable and
16
mergable. Ideally to be used in tree selectors in the PROOF
17
environment due to its merge functionality which allows a single
18
merged value to be returned to the user.
19
*/
20
21
#include "
TSelectorScalar.h
"
22
#include "
TCollection.h
"
23
24
ClassImp(TSelectorScalar);
25
26
////////////////////////////////////////////////////////////////////////////////
27
/// Increment scalar value by n.
28
29
void
TSelectorScalar::Inc(Long_t n)
30
{
31
SetVal(GetVal() + n);
32
}
33
34
////////////////////////////////////////////////////////////////////////////////
35
/// Merge scalars with scalars in the list. The scalar values are added.
36
/// Returns the number of scalars that were in the list.
37
38
Int_t TSelectorScalar::Merge(TCollection *list)
39
{
40
TIter next(list);
41
Int_t n = 0;
42
43
while
(TObject *obj = next()) {
44
TSelectorScalar *c =
dynamic_cast<
TSelectorScalar*
>
(obj);
45
if
(c) {
46
Inc(c->GetVal());
47
n++;
48
}
49
}
50
51
return
n;
52
}
TCollection.h
TSelectorScalar.h
tree
tree
src
TSelectorScalar.cxx
Generated on Tue May 5 2020 14:03:38 for ROOT by
1.8.5