AssnsBranchData.h
Go to the documentation of this file.
1 #ifndef gallery_AssnsBranchData_h
2 #define gallery_AssnsBranchData_h
3 // vim: set sw=2 expandtab :
4 
7 #include "gallery/BranchData.h"
8 
9 #include <memory>
10 #include <string>
11 
12 class TBranch;
13 class TClass;
14 
15 namespace art {
16  class PrincipalBase;
17 }
18 
19 namespace gallery {
20 
21  class EventNavigator;
22 
23  class AssnsBranchData : public BranchData {
24 
25  public:
26  virtual ~AssnsBranchData();
27 
29  TClass* iTClass,
30  TBranch* branch,
31  EventNavigator const* eventNavigator,
32  art::PrincipalBase const* finder,
33  std::string&& iBranchName,
34  art::TypeID const& infoType,
35  art::TypeID const& infoPartnerType);
36 
37  private:
38  void updateFile(TBranch* iBranch) override;
39  art::EDProduct const* getIt_() const override;
40  art::EDProduct const* uniqueProduct_() const override;
41  art::EDProduct const* uniqueProduct_(
42  art::TypeID const& wanted_wrapper_type) const override;
43 
44  art::TypeID secondary_wrapper_type_{};
45  mutable std::unique_ptr<art::EDProduct> secondaryProduct_{nullptr};
46  mutable long long secondaryLastProduct_{-1};
47  };
48 
49 } // namespace gallery
50 
51 #endif /* gallery_AssnsBranchData_h */
52 
53 // Local Variables:
54 // mode: c++
55 // End:
std::string string
Definition: nybbler.cc:12