Bdb packages | Design docs | Source docs | Guidelines | Recent releases

Search | Site Map .

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/BdbScribes/BdbCompositeScribe.cc

Go to the documentation of this file.
00001 #if !defined(BDBCOMPOSITESCRIBE_CC)
00002 #define BDBCOMPOSITESCRIBE_CC
00003 //--------------------------------------------------------------------------
00004 // File and Version Information:
00005 //      $Id: BdbCompositeScribe.cc,v 1.4 2002/03/31 23:11:31 ryd Exp $
00006 //
00007 // Description:
00008 //      Class BdbCompositeScribe
00009 //
00010 // Environment:
00011 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00012 //
00013 // Author List:
00014 //      Simon Patton            Originator
00015 //
00016 // Copyright Information:
00017 //      Copyright (C) 1998      LBNL
00018 //
00019 //------------------------------------------------------------------------
00020 
00021 //-----------------------
00022 // This Class's Header --
00023 //-----------------------
00024 #include "BdbScribes/BdbCompositeScribe.hh"
00025 
00026 //-------------
00027 // C Headers --
00028 //-------------
00029 extern "C" {
00030            }
00031 
00032 //---------------
00033 // C++ Headers --
00034 //---------------
00035 #include <string>
00036 using std::string;
00037 //----------------
00038 // BaBar Header --
00039 //----------------
00040 #include "BaBar/BaBar.hh"
00041 
00042 //-------------------------------
00043 // Collaborating Class Headers --
00044 //-------------------------------
00045 #include "ProxyDict/IfdStrKey.hh"
00046 #include "BdbScribes/BdbDefSupplier.hh"
00047 #include "BdbScribes/BdbDefPersPushPull.hh"
00048 #include "BdbScribes/BdbHepAListPushPull.hh"
00049 #include "ErrLogger/ErrLog.hh"
00050 
00051 //------------------------------------
00052 // Collaborating Class Declarations --
00053 //------------------------------------
00054 
00055 //-----------------------------------------------------------------------
00056 // Local Macros, Typedefs, Structures, Unions and Forward Declarations --
00057 //-----------------------------------------------------------------------
00058 
00059 //              -----------------------------------------------
00060 //              -- Static Data & Function Member Definitions --
00061 //              -----------------------------------------------
00062 
00063 //              ---------------------------------
00064 //              -- Member Function Definitions --
00065 //              ---------------------------------
00066 
00067 //----------------
00068 // Constructors --
00069 //----------------
00070 
00071 template< class T , class P >
00072 BdbCompositeScribe< T , P >::BdbCompositeScribe( const IfdKey& aKey ,
00073                                                  const string& aTree ,
00074                                                  const string& aPlacement )
00075    : BdbAbsScribe< HepAList< T > , P , BdbEvtObjP< HepAList< T > > >( new BdbHepAListPushPull< T >( aKey ) ,
00076 // The following assumes the IfdKey passed in the
00077 // Converter is a IfdStrKey.  When "asString" gets
00078 // implemented for the IfdKey class this downcast
00079 // will no longer be necessary
00080                                                                       new BdbDefPersPushPull< HepAList< T > , P >( ((const IfdStrKey&)aKey).asString() ,
00081                                                                                                                    aTree ) ,
00082                                                                       new BdbDefSupplier< HepAList< T > , P >( aPlacement ) )
00083 {
00084 }
00085 
00086 
00087 template< class T , class P >
00088 BdbCompositeScribe< T , P >::BdbCompositeScribe( const IfdKey& aKey ,
00089                                                  const string& persKey ,
00090                                                  const string& aTree ,
00091                                                  const string& aPlacement )
00092   : BdbAbsScribe< HepAList< T > , P , BdbEvtObjP< HepAList< T > > >( new BdbHepAListPushPull< T >( aKey ) ,
00093                                                                      new BdbDefPersPushPull< HepAList< T > , P >( persKey , aTree ) ,
00094                                                                      new BdbDefSupplier< HepAList< T > , P >( aPlacement ) )
00095 {
00096 }
00097 
00098 
00099 template< class T , class P >
00100 BdbCompositeScribe< T , P >::BdbCompositeScribe( const IfdKey& aKey ,
00101                                                  const std::string& aTree ,
00102                                                  const BdbSingleHintSupplier< HepAList< T > , P , BdbEvtObjP< HepAList< T > > >* aSupplier )
00103    : BdbAbsScribe< HepAList< T > , P , BdbEvtObjP< HepAList< T > > >( new BdbHepAListPushPull< T >( aKey ) ,
00104 // The following assumes the IfdKey passed in the
00105 // Converter is a IfdStrKey.  When "asString" gets
00106 // implemented for the IfdKey class this downcast
00107 // will no longer be necessary
00108                                                                       new BdbDefPersPushPull< HepAList< T > , P >( ((const IfdStrKey&)aKey).asString() ,
00109                                                                                                                    aTree ) ,
00110                                                                       aSupplier )
00111 {
00112 }
00113 
00114 // BdbCompositeScribe< T , P >::BdbCompositeScribe()
00115 // {
00116 // }
00117 
00118 // BdbCompositeScribe< T , P >::BdbCompositeScribe( const BdbCompositeScribe& aRhs )
00119 // {
00120 // }
00121 
00122 //--------------
00123 // Destructor --
00124 //--------------
00125 
00126 template< class T , class P >
00127 BdbCompositeScribe< T , P >::~BdbCompositeScribe()
00128 {
00129 }
00130 
00131 //-------------
00132 // Operators --
00133 //-------------
00134     
00135 // const BdbCompositeScribe& BdbCompositeScribe< T , P >::operator=( const BdbCompositeScribe& aRhs )
00136 // {
00137 // }
00138 
00139 //-------------
00140 // Selectors --
00141 //-------------
00142 
00143 //-------------
00144 // Modifiers --
00145 //-------------
00146 
00147 #endif // BDBCOMPOSITESCRIBE_CC

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: October 04, 2002