ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
MuonGM::MYSQL Class Reference

#include <MYSQL.h>

Inheritance diagram for MuonGM::MYSQL:
Collaboration diagram for MuonGM::MYSQL:

Classes

struct  MYSQLPtr
 

Public Types

enum  TgcReadoutRange { NTgcReadouts = 30 }
 
using LockedMYSQL = CxxUtils::LockedPointer< MYSQL >
 
using StationMap = std::map< std::string, std::unique_ptr< Station > >
 
using StationIterator = StationMap::const_iterator
 
using TgcReadParsMap = std::map< std::string, GeoModel::TransientConstSharedPtr< TgcReadoutParams > >
 
using TgcReadParsIterator = TgcReadParsMap::const_iterator
 
using TechnologyMap = std::map< std::string, std::unique_ptr< Technology > >
 
using TechnologyIterator = TechnologyMap::const_iterator
 

Public Member Functions

 ~MYSQL ()
 
bool amdb_from_RDB () const
 
void set_amdb_from_RDB (bool)
 
void setGeometryVersion (const std::string &s)
 
const std::string & getGeometryVersion () const
 
void setLayoutName (const std::string &s)
 
const std::string & getLayoutName () const
 
void setNovaVersion (int i)
 
int getNovaVersion () const
 
void setNovaReadVersion (int i)
 
int getNovaReadVersion () const
 
const StationMapstationMap () const
 
const TgcReadParsMaptgcReadParsMap () const
 
AllocposIterator AllocposBegin () const
 
AllocposIterator AllocposEnd () const
 
AllocposIterator AllocposFind (int) const
 
std::string AllocposFindName (int) const
 
void addAllocpos (int i, const std::string &str)
 
std::string allocPosBuildKey (const std::string &statType, int fi, int zi) const
 
int allocPosBuildValue (int subtype, int cutout) const
 
allocPosIterator allocPosBegin () const
 
allocPosIterator allocPosEnd () const
 
allocPosIterator allocPosFind (const std::string &key) const
 
allocPosIterator allocPosFind (const std::string &statType, int fi, int zi) const
 
int allocPosFindSubtype (const std::string &statType, int fi, int zi) const
 
int allocPosFindSubtype (const std::string &key) const
 
int allocPosFindSubtype (allocPosIterator it) const
 
int allocPosFindCutout (const std::string &statType, int fi, int zi) const
 
int allocPosFindCutout (const std::string &key) const
 
int allocPosFindCutout (allocPosIterator it) const
 
void addallocPos (const std::string &key, int value)
 
void addallocPos (const std::string &statType, int fi, int zi, int subtyp, int cutout)
 
void addallocPos (const std::string &key, int subtype, int cutout)
 
int NStations () const
 
int NTgcReadTypes () const
 
const StationGetStation (const std::string &name) const
 
StationGetStation (const std::string &name)
 
Position GetStationPosition (const std::string &nameType, int fi, int zi) const
 
GeoModel::TransientConstSharedPtr< TgcReadoutParamsGetTgcRPars (const std::string &name) const
 
GeoModel::TransientConstSharedPtr< TgcReadoutParamsGetTgcRPars (int i) const
 
void StoreStation (Station *s)
 
void PrintAllStations () const
 
void StoreTechnology (Technology *t)
 
void StoreTgcRPars (GeoModel::TransientConstSharedPtr< TgcReadoutParams > t)
 
TechnologyGetTechnology (const std::string &name)
 
const TechnologyGetTechnology (const std::string &name) const
 
const TechnologyGetATechnology (const std::string &name) const
 
void PrintTechnologies ()
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Static Public Member Functions

static LockedMYSQL GetPointer ()
 

Private Member Functions

 MYSQL ()
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Static Private Member Functions

static MYSQLPtrGetMYSQLPtr ()
 

Private Attributes

std::map< int, std::string > m_allocatedpos
 
std::map< std::string, int > m_allocPos
 
StationMap m_stations {}
 
TechnologyMap m_technologies {}
 
TgcReadParsMap m_tgcReadouts {}
 
std::array< GeoModel::TransientConstSharedPtr< TgcReadoutParams >, NTgcReadoutsm_tgcReadout {}
 
std::string m_geometry_version {"unknown"}
 
std::string m_layout_name {"unknown"}
 
std::string m_DBMuonVersion {"unknown"}
 
int m_nova_version {0}
 
int m_amdb_version {0}
 
bool m_amdb_from_rdb {false}
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Detailed Description

Definition at line 43 of file MYSQL.h.

Member Typedef Documentation

◆ LockedMYSQL

Definition at line 47 of file MYSQL.h.

◆ StationIterator

using MuonGM::MYSQL::StationIterator = StationMap::const_iterator

Definition at line 49 of file MYSQL.h.

◆ StationMap

using MuonGM::MYSQL::StationMap = std::map<std::string, std::unique_ptr<Station> >

Definition at line 48 of file MYSQL.h.

◆ TechnologyIterator

using MuonGM::MYSQL::TechnologyIterator = TechnologyMap::const_iterator

Definition at line 55 of file MYSQL.h.

◆ TechnologyMap

using MuonGM::MYSQL::TechnologyMap = std::map<std::string, std::unique_ptr<Technology> >

Definition at line 54 of file MYSQL.h.

◆ TgcReadParsIterator

using MuonGM::MYSQL::TgcReadParsIterator = TgcReadParsMap::const_iterator

Definition at line 52 of file MYSQL.h.

◆ TgcReadParsMap

Definition at line 51 of file MYSQL.h.

Member Enumeration Documentation

◆ TgcReadoutRange

Enumerator
NTgcReadouts 

Definition at line 45 of file MYSQL.h.

45 { NTgcReadouts = 30 };

Constructor & Destructor Documentation

◆ ~MYSQL()

MuonGM::MYSQL::~MYSQL ( )

Definition at line 23 of file MYSQL.cxx.

23  {
24  MYSQLPtr& ptr = GetMYSQLPtr();
25  std::unique_lock l (ptr.m_mutex);
26 
27  // reset the pointer so that at next initialize the MYSQL object will be re-created
28  if (ptr.m_ptr == this)
29  ptr.m_ptr = nullptr;
30  }

◆ MYSQL()

MuonGM::MYSQL::MYSQL ( )
private

Definition at line 20 of file MYSQL.cxx.

20  :
21  AthMessaging{"MuonGeoModel.MYSQL"} {}

Member Function Documentation

◆ addallocPos() [1/3]

void MuonGM::MYSQL::addallocPos ( const std::string &  key,
int  subtype,
int  cutout 
)

Definition at line 256 of file MYSQL.cxx.

256 { m_allocPos[key] = allocPosBuildValue(subtype, cutout); }

◆ addallocPos() [2/3]

void MuonGM::MYSQL::addallocPos ( const std::string &  key,
int  value 
)

Definition at line 254 of file MYSQL.cxx.

254 { m_allocPos[key] = value; }

◆ addallocPos() [3/3]

void MuonGM::MYSQL::addallocPos ( const std::string &  statType,
int  fi,
int  zi,
int  subtyp,
int  cutout 
)

Definition at line 206 of file MYSQL.cxx.

206  {
207  std::string key = allocPosBuildKey(statType, fi, zi);
208  addallocPos(key, subtyp, cutout);
209  }

◆ addAllocpos()

void MuonGM::MYSQL::addAllocpos ( int  i,
const std::string &  str 
)

Definition at line 210 of file MYSQL.cxx.

210 { m_allocatedpos[i] = str; }

◆ AllocposBegin()

AllocposIterator MuonGM::MYSQL::AllocposBegin ( ) const

Definition at line 214 of file MYSQL.cxx.

214 { return m_allocatedpos.cbegin(); }

◆ allocPosBegin()

allocPosIterator MuonGM::MYSQL::allocPosBegin ( ) const

Definition at line 236 of file MYSQL.cxx.

236 { return m_allocPos.begin(); }

◆ allocPosBuildKey()

std::string MuonGM::MYSQL::allocPosBuildKey ( const std::string &  statType,
int  fi,
int  zi 
) const

Definition at line 184 of file MYSQL.cxx.

184  {
185  std::ostringstream mystream;
186  mystream << statType << "fi" << MuonGM::buildString(fi, 1) << "zi" << MuonGM::buildString(zi, -1);
187  ATH_MSG_VERBOSE(__FILE__<<":"<<__LINE__<<" from " << statType << " fi " << fi << " zi " << zi << " we get as key " << mystream.str() );
188  return mystream.str();
189  }

◆ allocPosBuildValue()

int MuonGM::MYSQL::allocPosBuildValue ( int  subtype,
int  cutout 
) const

Definition at line 234 of file MYSQL.cxx.

234 { return 100 * subtype + cutout; }

◆ AllocposEnd()

AllocposIterator MuonGM::MYSQL::AllocposEnd ( ) const

Definition at line 212 of file MYSQL.cxx.

212 { return m_allocatedpos.end(); }

◆ allocPosEnd()

allocPosIterator MuonGM::MYSQL::allocPosEnd ( ) const

Definition at line 238 of file MYSQL.cxx.

238 { return m_allocPos.end(); }

◆ allocPosFind() [1/2]

allocPosIterator MuonGM::MYSQL::allocPosFind ( const std::string &  key) const

Definition at line 240 of file MYSQL.cxx.

240 { return m_allocPos.find(key); }

◆ allocPosFind() [2/2]

allocPosIterator MuonGM::MYSQL::allocPosFind ( const std::string &  statType,
int  fi,
int  zi 
) const

Definition at line 191 of file MYSQL.cxx.

191  {
192  std::string key = allocPosBuildKey(statType, fi, zi);
193  return allocPosFind(key);
194  }

◆ AllocposFind()

AllocposIterator MuonGM::MYSQL::AllocposFind ( int  i) const

Definition at line 216 of file MYSQL.cxx.

216 { return m_allocatedpos.find(i); }

◆ allocPosFindCutout() [1/3]

int MuonGM::MYSQL::allocPosFindCutout ( allocPosIterator  it) const

Definition at line 248 of file MYSQL.cxx.

248  {
249  int value = (*it).second;
250  int cutout = static_cast<int>(value % 100);
251  return cutout;
252  }

◆ allocPosFindCutout() [2/3]

int MuonGM::MYSQL::allocPosFindCutout ( const std::string &  key) const

Definition at line 305 of file MYSQL.cxx.

305  {
306  int cutout = 0;
308  if (it != allocPosEnd()) {
309  return allocPosFindCutout(it);
310  }
311  ATH_MSG_ERROR("MYSQL::allocPosFindCutout for key " << key << " no element found" );
312  return cutout;
313  }

◆ allocPosFindCutout() [3/3]

int MuonGM::MYSQL::allocPosFindCutout ( const std::string &  statType,
int  fi,
int  zi 
) const

Definition at line 201 of file MYSQL.cxx.

201  {
202  std::string key = allocPosBuildKey(statType, fi, zi);
203  return allocPosFindCutout(key);
204  }

◆ AllocposFindName()

std::string MuonGM::MYSQL::AllocposFindName ( int  i) const

Definition at line 218 of file MYSQL.cxx.

218  {
220  // imt fix in case key is wrong:
221  if (it == m_allocatedpos.end()) {
222  throw std::runtime_error("AllocPosFIndName() -- Bad key");
223  }
224  return (*it).second;
225  }

◆ allocPosFindSubtype() [1/3]

int MuonGM::MYSQL::allocPosFindSubtype ( allocPosIterator  it) const

Definition at line 242 of file MYSQL.cxx.

242  {
243  int value = it->second;
244  int subtype = static_cast<int>(value / 100);
245  return subtype;
246  }

◆ allocPosFindSubtype() [2/3]

int MuonGM::MYSQL::allocPosFindSubtype ( const std::string &  key) const

Definition at line 315 of file MYSQL.cxx.

315  {
316  int subtype = 0;
318  if (it != allocPosEnd()) {
319  return allocPosFindSubtype(it);
320  }
321  ATH_MSG_ERROR("MYSQL::allocPosFindSubtype for key " << key << " no element found" );
322  return subtype;
323  }

◆ allocPosFindSubtype() [3/3]

int MuonGM::MYSQL::allocPosFindSubtype ( const std::string &  statType,
int  fi,
int  zi 
) const

Definition at line 196 of file MYSQL.cxx.

196  {
197  std::string key = allocPosBuildKey(statType, fi, zi);
198  return allocPosFindSubtype(key);
199  }

◆ amdb_from_RDB()

bool MuonGM::MYSQL::amdb_from_RDB ( ) const

Definition at line 266 of file MYSQL.cxx.

266 { return m_amdb_from_rdb; }

◆ GetATechnology()

const Technology * MuonGM::MYSQL::GetATechnology ( const std::string &  name) const

Definition at line 162 of file MYSQL.cxx.

162  {
164 
165  if (it != m_technologies.end()) {
166  ATH_MSG_VERBOSE( "found the station technology name " << name );
167  return it->second.get();
168  }
169  ATH_MSG_VERBOSE( "MYSQL:: Technology " << name << "+++++++++ not found!" );
170  for (unsigned int i = 1; i <= 20; i++) {
171  char chindex[3];
172  sprintf(chindex, "%u", i);
173  // std::string newname = name.substr(0,3)+chindex;
174  std::string newname = name.substr(0, 3) + MuonGM::buildString(i, 2);
175  it = m_technologies.find(newname);
176  if (it != m_technologies.end()) {
177  ATH_MSG_VERBOSE( " Selecting a technology called <" << newname << ">" );
178  return it->second.get();
179  }
180  }
181  return nullptr;
182  }

◆ getGeometryVersion()

const std::string & MuonGM::MYSQL::getGeometryVersion ( ) const

Definition at line 258 of file MYSQL.cxx.

258 { return m_geometry_version; }

◆ getLayoutName()

const std::string & MuonGM::MYSQL::getLayoutName ( ) const

Definition at line 262 of file MYSQL.cxx.

262 { return m_layout_name; }

◆ GetMYSQLPtr()

MYSQL::MYSQLPtr & MuonGM::MYSQL::GetMYSQLPtr ( )
staticprivate

Definition at line 32 of file MYSQL.cxx.

32  {
34  const EventContext& ctx = Gaudi::Hive::currentContext();
35  if (ctx.slot() == EventContext::INVALID_CONTEXT_ID) {
36  EventContext ctx2 (0, 0);
37  return *ptrs.get(ctx2);
38  }
39  return *ptrs.get(ctx);
40  }

◆ getNovaReadVersion()

int MuonGM::MYSQL::getNovaReadVersion ( ) const

Definition at line 260 of file MYSQL.cxx.

260 { return m_amdb_version; }

◆ getNovaVersion()

int MuonGM::MYSQL::getNovaVersion ( ) const

Definition at line 264 of file MYSQL.cxx.

264 { return m_nova_version; }

◆ GetPointer()

MYSQL::LockedMYSQL MuonGM::MYSQL::GetPointer ( )
static

Definition at line 42 of file MYSQL.cxx.

42  {
43  MYSQLPtr& ptr = GetMYSQLPtr();
44  std::unique_lock l (ptr.m_mutex);
45  if (!ptr.m_ptr) {
46  ptr.m_ptr = new MYSQL;
47  }
48  return LockedMYSQL (*ptr.m_ptr, std::move(l));
49  }

◆ GetStation() [1/2]

Station * MuonGM::MYSQL::GetStation ( const std::string &  name)

Definition at line 61 of file MYSQL.cxx.

61  {
62  ATH_MSG_VERBOSE( " looking for station " << name );
64  if (it != m_stations.end()) {
65  ATH_MSG_VERBOSE( "found the station" );
66  return it->second.get();
67  }
68  return nullptr;
69  }

◆ GetStation() [2/2]

const Station * MuonGM::MYSQL::GetStation ( const std::string &  name) const

Definition at line 51 of file MYSQL.cxx.

51  {
52  ATH_MSG_VERBOSE( " looking for station " << name );
54  if (it != m_stations.end()) {
55  ATH_MSG_VERBOSE( "found the station" );
56  return it->second.get();
57  }
58  return nullptr;
59  }

◆ GetStationPosition()

Position MuonGM::MYSQL::GetStationPosition ( const std::string &  nameType,
int  fi,
int  zi 
) const

Definition at line 71 of file MYSQL.cxx.

71  {
72  Position p;
73  ATH_MSG_VERBOSE( " MYSQL::GetStationPosition for " << nameType << " fi/zi " << fi << " " << zi );
75  std::string stname = nameType + MuonGM::buildString(subtype, 0);
76  const Station *st = GetStation(stname);
77  if (st != nullptr) {
78  ATH_MSG_VERBOSE( " found in Station " << st->GetName());
79  p = (*(st->FindPosition(zi, fi))).second;
80  ATH_MSG_VERBOSE( " at p.fi,zi " << p.phiindex << " " << p.zindex << " shift/z " << p.shift << " " << p.z );
81 
82  } else {
83  ATH_MSG_WARNING( "::GetStationPosition nothing found for " << nameType << " at fi/zi " << fi << " " << zi );
84  }
85  return p;
86  }

◆ GetTechnology() [1/2]

Technology * MuonGM::MYSQL::GetTechnology ( const std::string &  name)

Definition at line 105 of file MYSQL.cxx.

105  {
107  if (it != m_technologies.end()) {
108  ATH_MSG_VERBOSE( "found the station technology name " << name );
109  return it->second.get();
110  }
111  ATH_MSG_VERBOSE( "MYSQL:: Technology " << name << "+++++++++ not found!" );
112  return nullptr;
113  }

◆ GetTechnology() [2/2]

const Technology * MuonGM::MYSQL::GetTechnology ( const std::string &  name) const

Definition at line 115 of file MYSQL.cxx.

115  {
117  if (it != m_technologies.end()) {
118  ATH_MSG_VERBOSE( "found the station technology name " << name );
119  return it->second.get();
120  }
121  ATH_MSG_VERBOSE( "MYSQL:: Technology " << name << "+++++++++ not found!" );
122  return nullptr;
123  }

◆ GetTgcRPars() [1/2]

GeoModel::TransientConstSharedPtr< TgcReadoutParams > MuonGM::MYSQL::GetTgcRPars ( const std::string &  name) const

Definition at line 88 of file MYSQL.cxx.

88  {
89  ATH_MSG_VERBOSE( "MYSQL::GetTgcRPars looking for a TgcRPars named <" << name << ">" );
91  if (it != m_tgcReadouts.end()) {
92  return it->second;
93  }
94  return nullptr;
95  }

◆ GetTgcRPars() [2/2]

GeoModel::TransientConstSharedPtr< TgcReadoutParams > MuonGM::MYSQL::GetTgcRPars ( int  i) const

Definition at line 97 of file MYSQL.cxx.

97  {
98  if (jsta - 1 < 0 || jsta >= NTgcReadouts) {
99  ATH_MSG_ERROR( "MYSQL::GetTgcRPars jsta = " << jsta << " out of range (0," << NTgcReadouts - 1 << ")" );
100  return nullptr;
101  }
102  return m_tgcReadout[jsta - 1];
103  }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 164 of file AthMessaging.h.

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152 {
153  if (!m_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

◆ NStations()

int MuonGM::MYSQL::NStations ( ) const

Definition at line 230 of file MYSQL.cxx.

230 { return m_stations.size(); }

◆ NTgcReadTypes()

int MuonGM::MYSQL::NTgcReadTypes ( ) const

Definition at line 232 of file MYSQL.cxx.

232 { return m_tgcReadouts.size(); }

◆ PrintAllStations()

void MuonGM::MYSQL::PrintAllStations ( ) const

Definition at line 150 of file MYSQL.cxx.

150  {
151  for (const auto& p : m_stations) {
152  ATH_MSG_INFO( "---> Station " << p.first );
153  }
154  }

◆ PrintTechnologies()

void MuonGM::MYSQL::PrintTechnologies ( )

Definition at line 156 of file MYSQL.cxx.

156  {
157  for (const auto& p : m_technologies) {
158  ATH_MSG_INFO( "---> Technology " << p.first );
159  }
160  }

◆ set_amdb_from_RDB()

void MuonGM::MYSQL::set_amdb_from_RDB ( bool  val)

Definition at line 268 of file MYSQL.cxx.

268 { m_amdb_from_rdb = val; }

◆ setGeometryVersion()

void MuonGM::MYSQL::setGeometryVersion ( const std::string &  s)

Definition at line 271 of file MYSQL.cxx.

271  {
272 
273 
274  if (m_geometry_version != "unknown") {
275  if (s == m_geometry_version)
276  return;
277  ATH_MSG_WARNING( "GeometryVersion already set to <" << m_geometry_version << ">"
278  << " resetting to <" << s << ">" );
279  }
281  ATH_MSG_INFO( "GeometryVersion set to <" << m_geometry_version << ">" );
282  }

◆ setLayoutName()

void MuonGM::MYSQL::setLayoutName ( const std::string &  s)

Definition at line 289 of file MYSQL.cxx.

289  {
290  if (m_layout_name != "unknown") {
291  if (s == m_layout_name)
292  return;
293  ATH_MSG_WARNING( "LayoutName already set to <" << m_layout_name << ">"
294  << " resetting to <" << s << ">" );
295  }
296  m_layout_name = s;
297  ATH_MSG_INFO( "LayoutName (from DBAM) set to <" << m_layout_name << "> -- relevant for CTB2004" );
298  }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

◆ setNovaReadVersion()

void MuonGM::MYSQL::setNovaReadVersion ( int  i)

Definition at line 284 of file MYSQL.cxx.

284  {
285  m_amdb_version = i;
286  ATH_MSG_VERBOSE("setNovaReadVersion to " << m_amdb_version );
287  }

◆ setNovaVersion()

void MuonGM::MYSQL::setNovaVersion ( int  i)

Definition at line 300 of file MYSQL.cxx.

300  {
301  m_nova_version = i;
302  ATH_MSG_VERBOSE("setNovaVersion to " << m_nova_version );
303  }

◆ stationMap()

const MYSQL::StationMap & MuonGM::MYSQL::stationMap ( ) const

Definition at line 227 of file MYSQL.cxx.

227 { return m_stations;}

◆ StoreStation()

void MuonGM::MYSQL::StoreStation ( Station s)

Definition at line 136 of file MYSQL.cxx.

136  {
137  ATH_MSG_VERBOSE(__FILE__<<":"<<__LINE__<<" name " << s->GetName() );
138  m_stations[s->GetName()].reset(s);
139  }

◆ StoreTechnology()

void MuonGM::MYSQL::StoreTechnology ( Technology t)

Definition at line 125 of file MYSQL.cxx.

125  {
126  ATH_MSG_VERBOSE( "MYSQL::StoreTechnology /// techn. named " << t->GetName() );
127 
128  std::unique_ptr<Technology>& stored = m_technologies[t->GetName()];
129  if (stored) {
130  ATH_MSG_ERROR( "MYSQL::StoreTechnology ERROR /// This place is already taken !!! for " << t->GetName() );
131  } else {
132  stored.reset(t);
133  }
134  }

◆ StoreTgcRPars()

void MuonGM::MYSQL::StoreTgcRPars ( GeoModel::TransientConstSharedPtr< TgcReadoutParams t)

Definition at line 141 of file MYSQL.cxx.

141  {
142  ATH_MSG_VERBOSE( "MYSQL::StoreTgcRPars named " << s->GetName() << " located @ " << s << " jsta = " << s->chamberType() );
143  if (s->chamberType() >= NTgcReadouts) {
144  ATH_MSG_ERROR( "MYSQL::StoreTgcRPars ChamberType(JSTA) " << s->chamberType() << " > NTgcReadouts=" << NTgcReadouts );
145  return;
146  }
147  m_tgcReadout[s->chamberType() - 1] = s;
148  }

◆ tgcReadParsMap()

const MYSQL::TgcReadParsMap & MuonGM::MYSQL::tgcReadParsMap ( ) const

Definition at line 228 of file MYSQL.cxx.

228 { return m_tgcReadouts;}

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_allocatedpos

std::map<int, std::string> MuonGM::MYSQL::m_allocatedpos
private

Definition at line 125 of file MYSQL.h.

◆ m_allocPos

std::map<std::string, int> MuonGM::MYSQL::m_allocPos
private

Definition at line 126 of file MYSQL.h.

◆ m_amdb_from_rdb

bool MuonGM::MYSQL::m_amdb_from_rdb {false}
private

Definition at line 138 of file MYSQL.h.

◆ m_amdb_version

int MuonGM::MYSQL::m_amdb_version {0}
private

Definition at line 137 of file MYSQL.h.

◆ m_DBMuonVersion

std::string MuonGM::MYSQL::m_DBMuonVersion {"unknown"}
private

Definition at line 135 of file MYSQL.h.

◆ m_geometry_version

std::string MuonGM::MYSQL::m_geometry_version {"unknown"}
private

Definition at line 133 of file MYSQL.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_layout_name

std::string MuonGM::MYSQL::m_layout_name {"unknown"}
private

Definition at line 134 of file MYSQL.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_nova_version

int MuonGM::MYSQL::m_nova_version {0}
private

Definition at line 136 of file MYSQL.h.

◆ m_stations

StationMap MuonGM::MYSQL::m_stations {}
private

Definition at line 127 of file MYSQL.h.

◆ m_technologies

TechnologyMap MuonGM::MYSQL::m_technologies {}
private

Definition at line 128 of file MYSQL.h.

◆ m_tgcReadout

std::array<GeoModel::TransientConstSharedPtr<TgcReadoutParams>, NTgcReadouts> MuonGM::MYSQL::m_tgcReadout {}
private

Definition at line 130 of file MYSQL.h.

◆ m_tgcReadouts

TgcReadParsMap MuonGM::MYSQL::m_tgcReadouts {}
private

Definition at line 129 of file MYSQL.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
MuonGM::MYSQL::m_amdb_from_rdb
bool m_amdb_from_rdb
Definition: MYSQL.h:138
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
checkxAOD.nameType
nameType
Definition: Tools/PyUtils/bin/checkxAOD.py:178
MuonGM::allocPosIterator
std::map< std::string, int >::const_iterator allocPosIterator
Definition: MYSQL.h:41
MuonGM::MYSQL::m_allocPos
std::map< std::string, int > m_allocPos
Definition: MYSQL.h:126
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
MuonGM::MYSQL::LockedMYSQL
CxxUtils::LockedPointer< MYSQL > LockedMYSQL
Definition: MYSQL.h:47
MuonGM::MYSQL::allocPosEnd
allocPosIterator allocPosEnd() const
Definition: MYSQL.cxx:238
MuonGM::MYSQL::allocPosFindSubtype
int allocPosFindSubtype(const std::string &statType, int fi, int zi) const
Definition: MYSQL.cxx:196
MuonGM::MYSQL::GetStation
const Station * GetStation(const std::string &name) const
Definition: MYSQL.cxx:51
skel.it
it
Definition: skel.GENtoEVGEN.py:396
athena.value
value
Definition: athena.py:124
MuonGM::MYSQL::m_amdb_version
int m_amdb_version
Definition: MYSQL.h:137
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonGM::MYSQL::m_tgcReadouts
TgcReadParsMap m_tgcReadouts
Definition: MYSQL.h:129
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
MuonGM::MYSQL::allocPosFindCutout
int allocPosFindCutout(const std::string &statType, int fi, int zi) const
Definition: MYSQL.cxx:201
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
AthMessaging::ATLAS_THREAD_SAFE
std::atomic_flag m_initialized ATLAS_THREAD_SAFE
Messaging initialized (initMessaging)
Definition: AthMessaging.h:141
MuonGM::MYSQL::m_layout_name
std::string m_layout_name
Definition: MYSQL.h:134
MuonGM::MYSQL::m_geometry_version
std::string m_geometry_version
Definition: MYSQL.h:133
MuonGM::MYSQL::m_nova_version
int m_nova_version
Definition: MYSQL.h:136
SG::SlotSpecificObj
Maintain a set of objects, one per slot.
Definition: AthenaKernel/AthenaKernel/SlotSpecificObj.h:70
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
MuonGM::MYSQL::allocPosBuildValue
int allocPosBuildValue(int subtype, int cutout) const
Definition: MYSQL.cxx:234
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
MuonGM::AllocposIterator
std::map< int, std::string >::const_iterator AllocposIterator
Definition: MYSQL.h:40
MuonGM::MYSQL::m_technologies
TechnologyMap m_technologies
Definition: MYSQL.h:128
MuonGM::MYSQL::m_allocatedpos
std::map< int, std::string > m_allocatedpos
Definition: MYSQL.h:125
MuonGM::MYSQL::NTgcReadouts
@ NTgcReadouts
Definition: MYSQL.h:45
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
MuonGM::MYSQL::MYSQL
MYSQL()
Definition: MYSQL.cxx:20
MuonGM::MYSQL::addallocPos
void addallocPos(const std::string &key, int value)
Definition: MYSQL.cxx:254
MuonGM::MYSQL::m_tgcReadout
std::array< GeoModel::TransientConstSharedPtr< TgcReadoutParams >, NTgcReadouts > m_tgcReadout
Definition: MYSQL.h:130
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
MuonGM::MYSQL::allocPosFind
allocPosIterator allocPosFind(const std::string &key) const
Definition: MYSQL.cxx:240
checkFileSG.fi
fi
Definition: checkFileSG.py:65
createCoolChannelIdFile.newname
newname
Definition: createCoolChannelIdFile.py:106
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
MuonGM::MYSQL::allocPosBuildKey
std::string allocPosBuildKey(const std::string &statType, int fi, int zi) const
Definition: MYSQL.cxx:184
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
MuonGM::MYSQL::TechnologyIterator
TechnologyMap::const_iterator TechnologyIterator
Definition: MYSQL.h:55
MuonGM::buildString
std::string buildString(int i, int ncha)
Definition: GlobalUtilities.cxx:23
MuonGM::MYSQL::GetMYSQLPtr
static MYSQLPtr & GetMYSQLPtr()
Definition: MYSQL.cxx:32
MuonGM::MYSQL::m_stations
StationMap m_stations
Definition: MYSQL.h:127
subproc.subtype
string subtype
Definition: subproc.py:19
MuonGM::MYSQL::TgcReadParsIterator
TgcReadParsMap::const_iterator TgcReadParsIterator
Definition: MYSQL.h:52
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
MuonGM::MYSQL::StationIterator
StationMap::const_iterator StationIterator
Definition: MYSQL.h:49