00001 // @(#)root/tree:$Id: TSelectorScalar.h 30749 2009-10-15 16:33:04Z brun $ 00002 // Author: Maarten Ballintijn 13/02/2005 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TSelectorScalar 00013 #define ROOT_TSelectorScalar 00014 00015 00016 ////////////////////////////////////////////////////////////////////////// 00017 // // 00018 // TSelectorScalar // 00019 // // 00020 // Named scalar type, based on Long64_t, streamable, storable and // 00021 // mergable. Ideally to be used in tree selectors in the PROOF // 00022 // environment due to its merge functionality which allows a single // 00023 // merged value to be returned to the user. // 00024 // // 00025 ////////////////////////////////////////////////////////////////////////// 00026 00027 00028 #ifndef ROOT_TParameter 00029 #include "TParameter.h" 00030 #endif 00031 00032 #ifndef ROOT_Rtypes 00033 #include "Rtypes.h" 00034 #endif 00035 00036 00037 class TCollection; 00038 00039 class TSelectorScalar : public TParameter<Long64_t> { 00040 00041 public: 00042 TSelectorScalar(const char *name = "", Long64_t val = 0) 00043 : TParameter<Long64_t>(name, val) { } 00044 ~TSelectorScalar() { } 00045 00046 void Inc(Long_t n = 1); 00047 Int_t Merge(TCollection *list); 00048 00049 ClassDef(TSelectorScalar,1) //Mergable scalar 00050 }; 00051 00052 00053 #endif