Logo ROOT  
Reference Guide
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
15Named scalar type, based on Long64_t, streamable, storable and
16mergable. Ideally to be used in tree selectors in the PROOF
17environment due to its merge functionality which allows a single
18merged value to be returned to the user.
19*/
20
21#include "TSelectorScalar.h"
22#include "TCollection.h"
23
25
26////////////////////////////////////////////////////////////////////////////////
27/// Increment scalar value by n.
28
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
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}
#define c(i)
Definition: RSha256.hxx:101
long Long_t
Definition: RtypesCore.h:52
#define ClassImp(name)
Definition: Rtypes.h:361
Collection abstract base class.
Definition: TCollection.h:63
Mother of all ROOT objects.
Definition: TObject.h:37
void SetVal(const Long64_t &val)
Definition: TParameter.h:71
const Long64_t & GetVal() const
Definition: TParameter.h:69
Named scalar type, based on Long64_t, streamable, storable and mergable.
Int_t Merge(TCollection *list)
Merge scalars with scalars in the list.
void Inc(Long_t n=1)
Increment scalar value by n.
const Int_t n
Definition: legend1.C:16