Skip to content
Snippets Groups Projects
Commit 7583a96f authored by Marcin Nowak's avatar Marcin Nowak :radioactive: Committed by Graeme Stewart
Browse files

switching to use APR instead of LCG POOL (AtlasPOOL-00-02-01)

parent ab899d1e
No related branches found
No related tags found
No related merge requests found
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'
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
#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;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment