Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TokenAddress.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 
7 
8 
9 void TokenAddress::setToken(std::unique_ptr<Token> token) {
10  m_ownedToken = std::move (token);
11  m_token = m_ownedToken.get();
12  m_par.reset();
13 }
14 
16 {
17  if (!m_ownedToken && m_token) {
18  m_ownedToken = std::make_unique<Token> (m_token);
19  m_token = m_ownedToken.get();
20  }
21  return m_ownedToken.get();
22 }
23 
24 const std::string* TokenAddress::par() const
25 {
26  if (!m_par.isValid()) {
27  // We haven't created the parameter array yet.
28  // Do it now.
29  Pars pars;
30  pars.par[0] = this->GenericAddress::par()[0];
31  pars.par[1] = this->GenericAddress::par()[1];
32  pars.par[2] = this->GenericAddress::par()[2];
33  if (pars.par[0].empty() && m_token) {
34  pars.par[0] = m_token->toString();
35  }
36  m_par.set (std::move (pars));
37  }
38  return m_par.ptr()->par;
39 }
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
TokenAddress::Pars
Definition: TokenAddress.h:68
TokenAddress::Pars::par
std::string par[3]
Definition: TokenAddress.h:69
TokenAddress::m_ownedToken
std::unique_ptr< Token > m_ownedToken
Definition: TokenAddress.h:71
TokenAddress::par
virtual const std::string * par() const override
Definition: TokenAddress.cxx:24
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition: Token.h:21
TokenAddress::getToken
Token * getToken()
Definition: TokenAddress.cxx:15
TokenAddress::setToken
void setToken(std::unique_ptr< Token > token)
Definition: TokenAddress.cxx:9
TokenAddress::m_par
CxxUtils::CachedValue< Pars > m_par
The parameter array. We create it lazily in par().
Definition: TokenAddress.h:74
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
Token::toString
virtual const std::string toString() const
Retrieve the string representation of the token.
Definition: Token.cxx:129
TokenAddress.h
This file contains the class definition for the TokenAddress class.
TokenAddress::m_token
const Token * m_token
Definition: TokenAddress.h:72