ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventAthenaPool
src
CscSimDataCollectionCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
CscSimDataCollectionCnv.h
"
6
7
// Gaudi
8
#include "GaudiKernel/StatusCode.h"
9
#include "GaudiKernel/MsgStream.h"
10
11
// Athena
12
#include "
StoreGate/StoreGateSvc.h
"
13
14
#include "
MuonSimData/CscSimDataCollection.h
"
15
#include "
MuonEventTPCnv/MuonDigitContainer/CscSimDataCollection_p1.h
"
16
17
CscSimDataCollectionCnv::CscSimDataCollectionCnv
(ISvcLocator* svcloc) :
18
CscSimDataCollectionCnvBase
(svcloc)
19
{
20
}
21
22
CscSimDataCollectionCnv::~CscSimDataCollectionCnv
() =
default
;
23
24
CscSimDataCollection_PERS
*
CscSimDataCollectionCnv::createPersistent
(
CscSimDataCollection
* transCont) {
25
MsgStream log(msgSvc(),
"CscSimDataCollectionCnv"
);
26
ATH_MSG_DEBUG
(
"createPersistent(): main converter"
);
27
CscSimDataCollection_PERS
*pixdc_p=
m_TPConverter_p2
.createPersistent( transCont, log );
28
return
pixdc_p;
29
}
30
31
CscSimDataCollection
*
CscSimDataCollectionCnv::createTransient
(
const
Token
* token) {
32
MsgStream log(msgSvc(),
"CscSimDataCollectionCnv"
);
33
static
const
Guid
p0_guid(
"250EC949-F98B-4F74-9034-178847D1B622"
);
34
static
const
Guid
p1_guid(
"DD2A8397-4435-4DA2-AD14-ADD7294694B2"
);
35
static
const
Guid
p2_guid(
"023993E1-BAAA-4F36-8CD4-8F03E3983E8D"
);
36
static
const
Guid
p3_guid(
"018F5280-E75C-7B27-9881-75B356B2A282"
);
37
ATH_MSG_DEBUG
(
"createTransient(const Token* token): main converter"
);
38
CscSimDataCollection
* p_collection(
nullptr
);
39
if
(
compareClassGuid
(token, p3_guid) ) {
40
ATH_MSG_DEBUG
(
"createTransient(const Token* token): T/P version 3 detected"
);
41
std::unique_ptr< Muon::CscSimDataCollection_p3 > col_vect( this->
poolReadObject< Muon::CscSimDataCollection_p3 >
(token) );
42
p_collection =
m_TPConverter_p3
.createTransient( col_vect.get(), log );
43
}
44
//----------------------------------------------------------------
45
else
if
(
compareClassGuid
(token, p2_guid) ) {
46
ATH_MSG_DEBUG
(
"createTransient(const Token* token): T/P version 2 detected"
);
47
std::unique_ptr< Muon::CscSimDataCollection_p2 > col_vect( this->
poolReadObject< Muon::CscSimDataCollection_p2 >
(token) );
48
p_collection =
m_TPConverter_p2
.createTransient( col_vect.get(), log );
49
}
50
//----------------------------------------------------------------
51
else
if
(
compareClassGuid
(token, p1_guid) ) {
52
ATH_MSG_DEBUG
(
"createTransient(const Token* token): T/P version 1 detected"
);
53
std::unique_ptr< Muon::CscSimDataCollection_p1 > col_vect( this->
poolReadObject< Muon::CscSimDataCollection_p1 >
(token) );
54
p_collection =
m_TPConverter_p1
.createTransient( col_vect.get(), log );
55
}
56
//----------------------------------------------------------------
57
else
if
(
compareClassGuid
(token, p0_guid) ){
58
if
(log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<
"createTransient(const Token* token): Old input file"
<<std::endl;
59
std::unique_ptr< CscSimDataCollection > col_vect(
poolReadObject< CscSimDataCollection >
(token) );
60
p_collection = col_vect.release();
61
}
62
//----------------------------------------------------------------
63
else
{
64
throw
std::runtime_error(
"Unsupported persistent version of CscSimDataCollection"
);
65
66
}
67
return
p_collection;
68
}
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
CscSimDataCollectionCnv.h
CscSimDataCollectionCnvBase
T_AthenaPoolCustomCnv< CscSimDataCollection, CscSimDataCollection_PERS > CscSimDataCollectionCnvBase
Definition
CscSimDataCollectionCnv.h:16
CscSimDataCollection_PERS
Muon::CscSimDataCollection_p2 CscSimDataCollection_PERS
Definition
CscSimDataCollectionCnv.h:15
CscSimDataCollection.h
CscSimDataCollection_p1.h
StoreGateSvc.h
CscSimDataCollectionCnv::~CscSimDataCollectionCnv
virtual ~CscSimDataCollectionCnv()
CscSimDataCollectionCnv::m_TPConverter_p2
CscSimDataCollectionCnv_p2 m_TPConverter_p2
Definition
CscSimDataCollectionCnv.h:35
CscSimDataCollectionCnv::createTransient
virtual CscSimDataCollection * createTransient(const Token *token)
Definition
CscSimDataCollectionCnv.cxx:31
CscSimDataCollectionCnv::createPersistent
virtual CscSimDataCollection_PERS * createPersistent(CscSimDataCollection *transCont)
Definition
CscSimDataCollectionCnv.cxx:24
CscSimDataCollectionCnv::CscSimDataCollectionCnv
CscSimDataCollectionCnv(ISvcLocator *svcloc)
Definition
CscSimDataCollectionCnv.cxx:17
CscSimDataCollectionCnv::m_TPConverter_p3
CscSimDataCollectionCnv_p3 m_TPConverter_p3
Definition
CscSimDataCollectionCnv.h:36
CscSimDataCollectionCnv::m_TPConverter_p1
CscSimDataCollectionCnv_p1 m_TPConverter_p1
Definition
CscSimDataCollectionCnv.h:34
CscSimDataCollection
Definition
CscSimDataCollection.h:29
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
T_AthenaPoolCustomCnv< CscSimDataCollection, CscSimDataCollection_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< CscSimDataCollection, CscSimDataCollection_PERS >::poolReadObject
P * poolReadObject(const Token *token)
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
Generated on
for ATLAS Offline Software by
1.17.0