Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:32

0001 // -*- C++ -*-
0002 //
0003 // Package:     FWLite
0004 // Class  :     BranchToClass
0005 //
0006 // Implementation:
0007 //     <Notes on implementation>
0008 //
0009 // Original Author:  Chris Jones
0010 //         Created:  Wed Aug  2 09:04:04 EDT 2006
0011 //
0012 
0013 // system include files
0014 class TBranch;
0015 class TClass;
0016 #include "TBranchBrowsable.h"
0017 
0018 // user include files
0019 #include "FWCore/FWLite/src/branchToClass.h"
0020 
0021 namespace {
0022   class BranchToClass : private TVirtualBranchBrowsable {
0023   public:
0024     static TClass* doit(const TBranch* iBranch);
0025 
0026     ///NOTE: do not call this, it is only here because ROOT demands it
0027     BranchToClass() = delete;
0028   };
0029 
0030   TClass* BranchToClass::doit(const TBranch* iBranch) {
0031     TClass* contained = nullptr;
0032     TClass* type = TVirtualBranchBrowsable::GetCollectionContainedType(iBranch, nullptr, contained);
0033     if (type == nullptr) {
0034       type = contained;
0035     }
0036     return type;
0037   }
0038 
0039 }  // namespace
0040 
0041 TClass* branchToClass(const TBranch* iBranch) { return BranchToClass::doit(iBranch); }
0042 //
0043 // constants, enums and typedefs
0044 //
0045 
0046 //
0047 // static data member definitions
0048 //
0049 
0050 //
0051 // constructors and destructor
0052 //