00001 // Dear emacs, this is -*- c++ -*- 00002 // $Id$ 00003 #ifndef XAODCUTFLOW_VERSIONS_CUTBOOKKEEPERCONTAINER_V1_H 00004 #define XAODCUTFLOW_VERSIONS_CUTBOOKKEEPERCONTAINER_V1_H 00005 00006 // DataModel includes 00007 #include "AthContainers/DataVector.h" 00008 #include "xAODCutFlow/versions/CutBookkeeper_v1.h" 00009 00010 00011 00012 namespace xAOD { 00013 00021 class CutBookkeeperContainer_v1: public DataVector<CutBookkeeper_v1> 00022 { 00023 public: 00025 //CutBookkeeperContainer_v1(); 00026 00028 CutBookkeeperContainer_v1( SG::OwnershipPolicy ownPolicy = SG::OWN_ELEMENTS, 00029 SG::IndexTrackingPolicy trackIndices = SG::DEFAULT_TRACK_INDICES ); 00030 00032 CutBookkeeperContainer_v1( CutBookkeeperContainer_v1::iterator first, 00033 CutBookkeeperContainer_v1::iterator last, 00034 SG::OwnershipPolicy ownPolicy = SG::OWN_ELEMENTS, 00035 SG::IndexTrackingPolicy trackIndices = SG::DEFAULT_TRACK_INDICES ); 00036 00037 // /// Copy constructor: 00038 // CutBookkeeperContainer_v1( const CutBookkeeperContainer_v1& rhs ); 00039 // 00040 // /// Assignment operator: 00041 // CutBookkeeperContainer_v1& operator=( const CutBookkeeperContainer_v1& rhs ); 00042 // 00043 // /// Constructor with parameters: to setup the ownership policy 00044 // CutBookkeeperContainer_v1( const SG::OwnershipPolicy own ); 00045 00047 virtual ~CutBookkeeperContainer_v1(); 00048 00050 using DataVector<CutBookkeeper_v1>::operator[]; 00051 00053 void merge( const CutBookkeeperContainer_v1* otherCont ); 00054 00056 int minCycle() const; 00057 00059 int maxCycle() const; 00060 00061 }; 00062 00063 } // namespace xAOD 00064 00065 00066 // Set up the StoreGate inheritance for the class: 00067 #include "xAODCore/BaseInfo.h" 00068 SG_BASE( xAOD::CutBookkeeperContainer_v1, DataVector<xAOD::CutBookkeeper_v1> ); 00069 00070 00071 #endif //> XAODCUTFLOW_VERSIONS_CUTBOOKKEEPERCONTAINER_V1_H