Commit 8b6de2d6 authored by Emmanuel Le Guirriec's avatar Emmanuel Le Guirriec Committed by Graeme Stewart
Browse files

Improve requirements file (JetTagInfoAthenaPool-00-01-07)

parent bfe8ec60
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///
/// Dummy transient object for the over all pool converter.
///
#ifndef JETTAGINFOTPCNV_JETTAGINFO
#define JETTAGINFOTPCNV_JETTAGINFO
/// Dummy class - basically a typeid place holder.
class JetTagInfo {
};
CLASS_DEF(JetTagInfo, 50623115, 1)
#endif
package JetTagInfoAthenaPool
author Gordon Watts <gwatts@phys.washingtone.edu>
author Laurent Vacavant <vacavant@in2p3.fr>
use AtlasPolicy AtlasPolicy-*
use AthenaPoolUtilities AthenaPoolUtilities-* Database/AthenaPOOL
private
use JetTagInfoTPCnv JetTagInfoTPCnv-* PhysicsAnalysis/JetTagging
end_private
apply_pattern poolcnv \
files="-s=${JetTagInfoAthenaPool_root}/JetTagInfoAthenaPool \
JetTagInfo.h "
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///
/// The Athena Pool converter
///
#include "JetTagInfoCnv.h"
#include <stdexcept>
using std::string;
using std::runtime_error;
/// Init our base class.
JetTagInfoCnv::JetTagInfoCnv (ISvcLocator *loc)
: JetTagInfoCnvBase (loc)
{
}
/// Make sure to pass on the init!
StatusCode JetTagInfoCnv::initialize(void)
{
StatusCode result = JetTagInfoCnvBase::initialize();
return result;
}
/// Read the persistant bit in. Fortunately, we don't have to do
/// anything at all for this.
void JetTagInfoCnv::readObjectFromPool (const string &token)
{
static pool::Guid p1_guid ("977E2E76-4DA6-4A4B-87A8-2E41353DB9F4");
static pool::Guid p2_guid ("50E644C1-E247-41B0-B873-416362824A21");
static pool::Guid p3_guid ("8A57BABD-C361-4796-93CD-E8171EF06BC7");
/// The POOL token which will be used for reading from POOL.
setToken (token);
/// And use the GUID to select what we want
if(compareClassGuid (p3_guid)){
poolReadObject<JetTagInfo_tlp3> (m_TPConverter);
}
else if (compareClassGuid (p2_guid)) {
poolReadObject<JetTagInfo_tlp2> (m_TPConverter_p2);
} else if (compareClassGuid (p1_guid)) {
poolReadObject<JetTagInfo_tlp1> (m_TPConverter_p1);
} else {
throw runtime_error ("Unsupported version of JetTagInfo_tlp1 (unknonw GUID)");
}
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///
/// The Athena Pool Converter for TagInfo guys
///
#ifndef JETTAGINFOTPCNV_JETTAGINFOCNV
#define JETTAGINFOTPCNV_JETTAGINFOCNV
#include "AthenaPoolCnvSvc/T_AthenaPoolExtendingCnv.h"
#include "JetTagInfoTPCnv/JetTagInfo_tlp1.h"
#include "JetTagInfoTPCnv/JetTagInfoCnv_tlp1.h"
#include "JetTagInfoTPCnv/JetTagInfo_tlp2.h"
#include "JetTagInfoTPCnv/JetTagInfoCnv_tlp2.h"
#include "JetTagInfoTPCnv/JetTagInfo_tlp3.h"
#include "JetTagInfoTPCnv/JetTagInfoCnv_tlp3.h"
#include "JetTagInfoAthenaPool/JetTagInfo.h"
using Analysis::JetTagInfo_tlp1;
using Analysis::JetTagInfoCnv_tlp1;
using Analysis::JetTagInfo_tlp2;
using Analysis::JetTagInfoCnv_tlp2;
using Analysis::JetTagInfo_tlp3;
using Analysis::JetTagInfoCnv_tlp3;
typedef T_AthenaPoolExtendingCnv<JetTagInfo, JetTagInfo_tlp3> JetTagInfoCnvBase;
#include <iostream>
class JetTagInfoCnv : public JetTagInfoCnvBase {
friend class CnvFactory<JetTagInfoCnv>;
protected:
JetTagInfoCnv (ISvcLocator *svcloc);
StatusCode initialize(void);
inline AthenaPoolTopLevelTPCnvBase *getTopLevelTPCnv(void)
{
return &m_TPConverter;
}
inline AthenaPoolCnvTPExtension *clone (void)
{
return new JetTagInfoCnv(0);
}
void readObjectFromPool (const std::string &obj);
private:
JetTagInfoCnv_tlp3 m_TPConverter;
JetTagInfoCnv_tlp2 m_TPConverter_p2;
JetTagInfoCnv_tlp1 m_TPConverter_p1;
};
#endif
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment