diff --git a/External/AtlasPOOL/cmt/requirements b/External/AtlasPOOL/cmt/requirements
new file mode 100755
index 0000000000000000000000000000000000000000..d58ca22afe527f2da2d6f24597c686567430c135
--- /dev/null
+++ b/External/AtlasPOOL/cmt/requirements
@@ -0,0 +1,25 @@
+package AtlasPOOL
+
+author Alexander Undrus <undrus@bnl.gov>
+author RD Schaffer <R.D.Schaffer@cern.ch>
+author Marcin.Nowak@cern.ch
+
+path_remove LD_LIBRARY_PATH "/AtlasRAL/"
+#---------------------------------------------------------------------------
+
+use ExternalPolicy ExternalPolicy-* External
+use mysql     v* LCG_Interfaces -no_auto_imports
+
+use POOLCore            POOLCore-*              Database/APR
+use CollectionBase      CollectionBase-*        Database/APR
+use CollectionUtilities CollectionUtilities-*   Database/APR
+use StorageSvc          StorageSvc-*            Database/APR
+use PersistencySvc      PersistencySvc-*        Database/APR
+
+apply_pattern declare_runtime files="AtlasRootHacks.h"
+
+set POOLDB_ROOTDEFS "$(AtlasPOOL_cmtpath)/InstallArea/share/AtlasRootHacks.h;"
+
+
+private
+macro install_command 'cp -R -H'
diff --git a/External/AtlasPOOL/doc/how-to.txt b/External/AtlasPOOL/doc/how-to.txt
new file mode 100755
index 0000000000000000000000000000000000000000..f14a60f3b6dfa4780b1ad96f93b73740ddc375a2
--- /dev/null
+++ b/External/AtlasPOOL/doc/how-to.txt
@@ -0,0 +1,65 @@
+
+                             2 July 2003  RDS
+
+This is a brief how-to which explains how to generate the pool
+converters for a data package. (See the corresponding how-to in the
+AtlasSEAL package)
+
+We take as an example the EventInfo package. The basic procedure is to
+use the cmt pattern "poocnv" to generate the converters for a package
+with data objects. This creates a component library which with the
+converters in it.
+
+Note that a corresponding pattern, lcgdict, which today is in the
+AtlasSEAL package, is used to generate the LCG dictionary loader. This
+is described in the how-to of the AtlasSEAL package.
+
+The procedure:
+
+1) Look at EventInfo's req file (below the poolcnv pattern is
+   commented out):
+
+package EventInfo
+
+author	  P Calafiura <pcalafiura@lbl.gov>
+author	  RD Schaffer <R.D.Schaffer@cern.ch>
+
+use AtlasPolicy AtlasPolicy-01-*
+use CLIDSvc     CLIDSvc-*        Control
+
+# The following uses are to get the lcgdict and poolcnv patterns, resply.
+# They are "hidden" behind "private" and "no_auto_imports" to keep 
+# clients of EventInfo from seeing excess dependenciesprivate
+use AtlasSEAL	AtlasSEAL-00-*	 External -no_auto_imports
+use AtlasPOOL	AtlasPOOL-00-*	 External -no_auto_imports
+public
+
+# Normal lib for the data classes
+library EventInfo EventID.cxx EventType.cxx EventInfo.cxx PileUpEventInfo.cxx
+apply_pattern installed_library
+
+# Pattern to build the dict lib. User should create a single header
+# file: <package>Dict.h which includes all other .h files. See EventInfoDict
+apply_pattern lcgdict dict=EventInfo  headerfiles="../EventInfo/EventInfoDict.h"
+
+# Pattern to generate pool converters for the two data object classes:
+# (Currently commented out)
+#apply_pattern poolcnv files="-s=../EventInfo EventInfo.h PileUpEventInfo.h"
+
+# A selection file must be created by hand. This file lists the
+# classes to be added to the dictionary, and which fields are
+# transient 
+private
+macro_append  lcgdict_options " --select=../EventInfo/selection.xml "
+
+
+2) Follow the instructions for creating the dictionary in the how-to
+   in the AtlasSEAL package.
+
+3) Uncomment the "apply_pattern poolcnv" and add in the .h files for
+   each to the data object ONLY. I.e. not for all .h's, just the ones
+   with a CLID/CLASS_DEF macro.
+
+4) Build the package and follow the instructions on running pool
+
+
diff --git a/External/AtlasPOOL/share/AtlasRootHacks.h b/External/AtlasPOOL/share/AtlasRootHacks.h
new file mode 100755
index 0000000000000000000000000000000000000000..4be4a089d05ddd699c87a655e732f7aa5d30e4bc
--- /dev/null
+++ b/External/AtlasPOOL/share/AtlasRootHacks.h
@@ -0,0 +1,29 @@
+#include "CLHEP/Matrix/DiagMatrix.h"
+#include "CLHEP/Matrix/GenMatrix.h"
+#include "CLHEP/Matrix/Matrix.h"
+#include "CLHEP/Matrix/Pile.h"
+#include "CLHEP/Matrix/SymMatrix.h"
+#include "CLHEP/Matrix/Vector.h"
+#include "CLHEP/Vector/EulerAngles.h"
+#include "CLHEP/Vector/LorentzRotation.h"
+#include "CLHEP/Vector/Rotation.h"
+#include "CLHEP/Vector/TwoVector.h"
+
+typedef CLHEP::Hep2Vector              Hep2Vector;
+typedef CLHEP::Hep3Vector              Hep3Vector;
+typedef CLHEP::HepRotation             HepRotation;
+typedef CLHEP::HepLorentzRotation      HepLorentzRotation;
+typedef CLHEP::HepEulerAngles          HepEulerAngles;
+typedef CLHEP::HepVector               HepVector;
+typedef CLHEP::HepMatrix               HepMatrix;
+typedef CLHEP::HepSymMatrix            HepSymMatrix;
+typedef CLHEP::HepGenMatrix            HepGenMatrix;
+typedef CLHEP::HepPile                 HepPile;
+typedef CLHEP::HepDiagMatrix           HepDiagMatrix;
+
+typedef HepGeom::Vector3D<double>	HepVector3D;
+typedef HepGeom::Point3D<double>	HepPoint3D;
+typedef HepGeom::Transform3D		HepTransform3D;
+typedef CLHEP::HepLorentzVector      	HepLorentzVector;
+
+typedef HepGeom::BasicVector3D<double>	BasicVector3D;