Commit bd8af624 authored by Marjorie Shapiro's avatar Marjorie Shapiro Committed by Graeme Stewart
Browse files

Update selection.xml (LumiBlockTPCnv-00-02-02)

	* update selection.xml
	* tag as LumiBlockTPCnv-00-02-02

2014-10-11 Marjorie Shapiro <mdshapiro@lbl.gov>
	* change uint to unsigned int
	* tag as LumiBlockTPCnv-00-02-01

2014-10-11 Marjorie Shapiro <mdshapiro@lbl.gov>
	* update to use LB_IOVRange instead of IOVRange
	* tag as LumiBlockTPCnv-00-02-00
parent 8a598f3c
<lcgdict>
<class name="T_TPCnv<LumiBlockCollection,LumiBlockCollection_p1>"/>
<class name="LumiBlockCollectionCnv_p1"/>
<class name="T_AthenaPoolTPCnvBase<LumiBlockCollection,LumiBlockCollection_p1>"/>
<class name="T_AthenaPoolTPPolyCnvBase<LumiBlockCollection,LumiBlockCollection,LumiBlockCollection_p1>"/>
<class name="T_AthenaPoolTPAbstractPolyCnvBase<LumiBlockCollection,LumiBlockCollection,LumiBlockCollection_p1>"/>
<class name="T_TPCnv<LumiBlockCollection,LumiBlockCollection_p2>"/>
<class name="LumiBlockCollectionCnv_p2"/>
<class name="T_AthenaPoolTPCnvBase<LumiBlockCollection,LumiBlockCollection_p2>"/>
<class name="T_AthenaPoolTPPolyCnvBase<LumiBlockCollection,LumiBlockCollection,LumiBlockCollection_p2>"/>
<class name="T_AthenaPoolTPAbstractPolyCnvBase<LumiBlockCollection,LumiBlockCollection,LumiBlockCollection_p2>"/>
<class name="ITPConverterFor<LumiBlockCollection>"/>
<class name="T_TPCnv<IOVRange,LumiBlockRange_p1>"/>
<class name="LumiBlockRangeCnv_p1"/>
<class name="T_AthenaPoolTPCnvBase<IOVRange,LumiBlockRange_p1>"/>
<class name="ITPConverterFor<IOVRange>"/>
<class name="T_TPCnv<LB_IOVRange,LumiBlockRange_p2>"/>
<class name="LumiBlockRangeCnv_p2"/>
<class name="T_AthenaPoolTPCnvBase<LB_IOVRange,LumiBlockRange_p2>"/>
<class name="ITPConverterFor<LB_IOVRange>"/>
</lcgdict>
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef LUMIBLOCKCOLLECTIONCNV_P2_H
#define LUMIBLOCKCOLLECTIONCNV_P2_H
///////////////////////////////////////////////////////////////////////////
// Header file for class LumiBlockCollectionCnv_p2
// Author: Marjorie Shapiro
///////////////////////////////////////////////////////////////////////////
#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
#include "LumiBlockData/LumiBlockCollection.h"
#include "LumiBlockTPCnv/LumiBlockCollection_p2.h"
#include "LumiBlockRangeCnv_p2.h"
typedef T_AthenaPoolTPCnvVector< LumiBlockCollection, LumiBlockCollection_p2, LumiBlockRangeCnv_p2 > LumiBlockCollectionCnv_p2;
template<>
class T_TPCnv<LumiBlockCollection, LumiBlockCollection_p2>
: public LumiBlockCollectionCnv_p2
{
public:
};
#endif //LUMIBLOCKCOLLECTIONCNV_P2_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef LUMIBLOCKCOLLECTION_p2_H
#define LUMIBLOCKCOLLECTION_p2_H
#include "LumiBlockTPCnv/LumiBlockRange_p2.h"
class LumiBlockCollection_p2 : public std::vector<LumiBlockRange_p2>
{};
#endif // LUMIBLOCKCOLLECTION_p2_H
......@@ -7,18 +7,18 @@
#include "LumiBlockTPCnv/LumiBlockRange_p1.h"
#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
#include "AthenaKernel/IOVRange.h"
#include "LumiBlockData/LB_IOVRange.h"
class MsgStream;
class LumiBlockRangeCnv_p1 : public T_AthenaPoolTPCnvBase<IOVRange, LumiBlockRange_p1> {
class LumiBlockRangeCnv_p1 : public T_AthenaPoolTPCnvBase<LB_IOVRange, LumiBlockRange_p1> {
public:
LumiBlockRangeCnv_p1() {}
virtual void persToTrans(const LumiBlockRange_p1* persObj, IOVRange* transObj, MsgStream &log);
virtual void transToPers(const IOVRange* transObj, LumiBlockRange_p1* persObj, MsgStream &log);
virtual void persToTrans(const LumiBlockRange_p1* persObj, LB_IOVRange* transObj, MsgStream &log);
virtual void transToPers(const LB_IOVRange* transObj, LumiBlockRange_p1* persObj, MsgStream &log);
};
template<>
class T_TPCnv<IOVRange, LumiBlockRange_p1>
class T_TPCnv<LB_IOVRange, LumiBlockRange_p1>
: public LumiBlockRangeCnv_p1
{
public:
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef LUMIBLOCKRANGECNV_P2_H
#define LUMIBLOCKRANGECNV_P2_H
#include "LumiBlockTPCnv/LumiBlockRange_p2.h"
#include "AthenaPoolCnvSvc/T_AthenaPoolTPConverter.h"
#include "LumiBlockData/LB_IOVRange.h"
class MsgStream;
class LumiBlockRangeCnv_p2 : public T_AthenaPoolTPCnvBase<LB_IOVRange, LumiBlockRange_p2> {
public:
LumiBlockRangeCnv_p2() {}
virtual void persToTrans(const LumiBlockRange_p2* persObj, LB_IOVRange* transObj, MsgStream &log);
virtual void transToPers(const LB_IOVRange* transObj, LumiBlockRange_p2* persObj, MsgStream &log);
};
template<>
class T_TPCnv<LB_IOVRange, LumiBlockRange_p2>
: public LumiBlockRangeCnv_p2
{
public:
};
#endif // LUMIBLOCKRANGECNV_P2_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// Header file for class LumiBlockRange_p2
// Author: Marjorie Shapiro <mdshapiro@lbl.gov>
///////////////////////////////////////////////////////////////////
#ifndef LUMIBLOCKRANGE_P2_H
#define LUMIBLOCKRANGE_P2_H
#include <stdint.h>
class LumiBlockRange_p2 {
// Public methods:
public:
///////////////////////////////////////////////////////////////////////
// This class is the persistent form of LB_IOVRange that will be put
// into LumiBlockCollection_p2 (the persistent form of
// LumiBlockCollection)
// Nota Bene:
// For the IOVTime, we are only going to stream the (run,lumiblock) datamembers
// In LumiBlockCollection_p2, we require that the IOVTime objects
// in the IOVRange have isRunEvent()==true and isTimestamp()==false
// this means we only need 2 unsigned int64_t in the persistent representation
///////////////////////////////////////////////////////////////////////
unsigned long long m_start;
unsigned long long m_stop;
unsigned int m_NumExpected;
unsigned int m_NumSeen;
LumiBlockRange_p2(unsigned long long start, unsigned long long stop):
m_start(start),m_stop(stop),m_NumExpected(0),m_NumSeen(0) {};
LumiBlockRange_p2(unsigned long long start, unsigned long long stop, unsigned int nExpect, unsigned int nSeen):
m_start(start),m_stop(stop),m_NumExpected(nExpect),m_NumSeen(nSeen) {};
LumiBlockRange_p2() : m_start(0),m_stop(0),m_NumExpected(0),m_NumSeen(0) {};
LumiBlockRange_p2(const LumiBlockRange_p2& rhs) : m_start(rhs.m_start),
m_stop(rhs.m_stop),m_NumExpected(rhs.m_NumExpected),m_NumSeen(rhs.m_NumSeen) {};
~LumiBlockRange_p2() {};
};
#endif //> LUMIBLOCKRANGE_P2_H
......@@ -16,12 +16,21 @@
#include "LumiBlockTPCnv/LumiBlockRangeCnv_p1.h"
#include "LumiBlockTPCnv/LumiBlockCollectionCnv_p1.h"
#include "LumiBlockTPCnv/LumiBlockRange_p2.h"
#include "LumiBlockTPCnv/LumiBlockCollection_p2.h"
#include "LumiBlockTPCnv/LumiBlockRangeCnv_p2.h"
#include "LumiBlockTPCnv/LumiBlockCollectionCnv_p2.h"
namespace LumiBlockTPCnvDict {
struct tmp {
std::vector<LumiBlockRange_p1> m_lumiblockcollection_p1;
T_TPCnv<LumiBlockCollection, LumiBlockCollection_p1> m_lumiblockcollectioncnv_p1;
T_TPCnv<IOVRange, LumiBlockRange_p1> m_lumiblockrangecnv_p1;
T_TPCnv<LB_IOVRange, LumiBlockRange_p1> m_lumiblockrangecnv_p1;
std::vector<LumiBlockRange_p2> m_lumiblockcollection_p2;
T_TPCnv<LumiBlockCollection, LumiBlockCollection_p2> m_lumiblockcollectioncnv_p2;
T_TPCnv<LB_IOVRange, LumiBlockRange_p2> m_lumiblockrangecnv_p2;
};
}
......
<lcgdict>
<class name="LumiBlockRange_p1" />
<class name="std::vector<LumiBlockRange_p1>" />
<class name="LumiBlockCollection_p1" id="CF1F40C9-6125-4C35-87FF-DDA2C319000C" />
</lcgdict>
<lcgdict>
<class name="LumiBlockRange_p1" />
<class name="std::vector<LumiBlockRange_p1>" />
<class name="LumiBlockRange_p2" />
<class name="std::vector<LumiBlockRange_p2>" />
<class name="LumiBlockCollection_p1" id="CF1F40C9-6125-4C35-87FF-DDA2C319000C" />
</lcgdict>
package LumiBlockTPCnv
use AtlasPolicy AtlasPolicy-*
use AthenaKernel AthenaKernel-* Control
use AthenaPoolCnvSvc AthenaPoolCnvSvc-* Database/AthenaPOOL
use LumiBlockData LumiBlockData-* LumiBlock
private
use AtlasReflex AtlasReflex-* External
use AthenaKernel AthenaKernel-* Control
end_private
branches LumiBlockTPCnv src
......@@ -15,7 +15,7 @@ apply_pattern tpcnv_library
private
apply_pattern lcgdict dict=LumiBlockTPCnv selectionfile=selection.xml headerfiles="../LumiBlockTPCnv/LumiBlockTPCnvDict.h"
apply_pattern lcgdict dict=ARA_LumiBlockTPCnv selectionfile=ARA_selection.xml headerfiles="../LumiBlockTPCnv/LumiBlockTPCnvDict.h"
apply_pattern lcgdict dict=OLD_LumiBlockTPCnv selectionfile=OLD_selection.xml headerfiles="../LumiBlockTPCnv/LumiBlockTPCnvDict.h"
##apply_pattern lcgdict dict=ARA_LumiBlockTPCnv selectionfile=ARA_selection.xml headerfiles="../LumiBlockTPCnv/LumiBlockTPCnvDict.h"
##apply_pattern lcgdict dict=OLD_LumiBlockTPCnv selectionfile=OLD_selection.xml headerfiles="../LumiBlockTPCnv/LumiBlockTPCnvDict.h"
end_private
......@@ -9,21 +9,24 @@
#define private public
#define protected public
#include "AthenaKernel/IOVRange.h"
#include "LumiBlockData/LB_IOVRange.h"
#undef private
#undef protected
#include "LumiBlockTPCnv/LumiBlockRangeCnv_p1.h"
void LumiBlockRangeCnv_p1::transToPers(const IOVRange* trans, LumiBlockRange_p1* pers, MsgStream &) {
void LumiBlockRangeCnv_p1::transToPers(const LB_IOVRange* trans, LumiBlockRange_p1* pers, MsgStream &) {
pers->m_start = (trans->start()).re_time();
pers->m_stop = (trans->stop()).re_time();
}
void LumiBlockRangeCnv_p1::persToTrans(const LumiBlockRange_p1* pers, IOVRange* trans, MsgStream &) {
void LumiBlockRangeCnv_p1::persToTrans(const LumiBlockRange_p1* pers, LB_IOVRange* trans, MsgStream &) {
(trans->m_start).m_status = IOVTime::RUN_EVT;
(trans->m_start).setRETime(pers->m_start);
(trans->m_start).m_status = IOVTime::RUN_EVT;
(trans->m_stop).setRETime(pers->m_stop);
trans->m_NumExpected = 0;
trans->m_NumSeen = 0;
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// Header file for class LumiBlockRangeCnv_p2
// Author: Marjorie Shapiro <mdshapiro@lbl.gov>
///////////////////////////////////////////////////////////////////
#define private public
#define protected public
#include "LumiBlockData/LB_IOVRange.h"
#undef private
#undef protected
#include "LumiBlockTPCnv/LumiBlockRangeCnv_p2.h"
void LumiBlockRangeCnv_p2::transToPers(const LB_IOVRange* trans, LumiBlockRange_p2* pers, MsgStream &) {
pers->m_start = (trans->start()).re_time();
pers->m_stop = (trans->stop()).re_time();
pers->m_NumExpected = trans->m_NumExpected;
pers->m_NumSeen = trans->m_NumSeen;
}
void LumiBlockRangeCnv_p2::persToTrans(const LumiBlockRange_p2* pers, LB_IOVRange* trans, MsgStream &) {
(trans->m_start).m_status = IOVTime::RUN_EVT;
(trans->m_start).setRETime(pers->m_start);
(trans->m_start).m_status = IOVTime::RUN_EVT;
(trans->m_stop).setRETime(pers->m_stop);
trans->m_NumExpected = pers->m_NumExpected;
trans->m_NumSeen = pers->m_NumSeen;
}
......@@ -10,9 +10,13 @@
#include "LumiBlockTPCnv/LumiBlockCollection_p1.h"
#include "LumiBlockTPCnv/LumiBlockRangeCnv_p1.h"
#include "LumiBlockTPCnv/LumiBlockCollectionCnv_p1.h"
#include "LumiBlockTPCnv/LumiBlockRange_p2.h"
#include "LumiBlockTPCnv/LumiBlockCollection_p2.h"
#include "LumiBlockTPCnv/LumiBlockRangeCnv_p2.h"
#include "LumiBlockTPCnv/LumiBlockCollectionCnv_p2.h"
DECLARE_TPCNV_FACTORY(LumiBlockRangeCnv_p1,
IOVRange,
LB_IOVRange,
LumiBlockRange_p1,
Athena::TPCnvVers::Current)
......@@ -21,4 +25,15 @@ DECLARE_NAMED_TPCNV_FACTORY(LumiBlockCollectionCnv_p1,
LumiBlockCollection,
LumiBlockCollection_p1,
Athena::TPCnvVers::Current)
DECLARE_TPCNV_FACTORY(LumiBlockRangeCnv_p2,
LB_IOVRange,
LumiBlockRange_p2,
Athena::TPCnvVers::Current)
DECLARE_NAMED_TPCNV_FACTORY(LumiBlockCollectionCnv_p2,
LumiBlockCollectionCnv_p2,
LumiBlockCollection,
LumiBlockCollection_p2,
Athena::TPCnvVers::Current)
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