|
ATLAS Offline Software
|
#include <HGTD_GmxInterface.h>
|
| HGTD_GmxInterface (HGTD_DetectorManager *detectorManager, InDetDD::SiCommonItems *commonItems) |
|
virtual int | sensorId (std::map< std::string, int > &index) const override final |
|
virtual void | addSensorType (const std::string &clas, const std::string &typeName, const std::map< std::string, std::string > ¶meters) override final |
|
void | addSensor (const std::string &typeName, std::map< std::string, int > &index, int sequentialId, GeoVFullPhysVol *fpv) override final |
|
void | buildReadoutGeometryFromSqlite (IRDBAccessSvc *rdbAccessSvc, GeoModelIO::ReadGeoModel *sqlreader) |
|
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...
|
|
Definition at line 28 of file HGTD_GmxInterface.h.
◆ HGTD_GmxInterface()
◆ addSensor()
void HGTD_GmxInterface::addSensor |
( |
const std::string & |
typeName, |
|
|
std::map< std::string, int > & |
index, |
|
|
int |
sequentialId, |
|
|
GeoVFullPhysVol * |
fpv |
|
) |
| |
|
finaloverride |
Definition at line 136 of file HGTD_GmxInterface.cxx.
149 if(useNewIdentifierScheme){
152 index[
"moduleInLayer"],
159 index[
"moduleNumberInRow"]);
180 ATH_MSG_ERROR(
"Refusing to make it into a sensitive element. Incompatible gmx and identifier-xml files.");
188 if (design ==
nullptr) {
190 throw std::runtime_error(
"readout sensor type " +
typeName +
" not found.");
◆ addSensorType()
void HGTD_GmxInterface::addSensorType |
( |
const std::string & |
clas, |
|
|
const std::string & |
typeName, |
|
|
const std::map< std::string, std::string > & |
parameters |
|
) |
| |
|
finaloverridevirtual |
◆ buildReadoutGeometryFromSqlite()
void HGTD_GmxInterface::buildReadoutGeometryFromSqlite |
( |
IRDBAccessSvc * |
rdbAccessSvc, |
|
|
GeoModelIO::ReadGeoModel * |
sqlreader |
|
) |
| |
Definition at line 197 of file HGTD_GmxInterface.cxx.
200 const std::array<std::string,7> LGAD_moduleParamNames({
"thickness",
"xPitch",
"yPitch",
"circuitsPerColumn",
"circuitsPerRow",
"padColumns",
"padRows"});
202 if(LGAD_module->size() !=0){
204 std::map<std::string,std::string> LGAD_moduleMap;
205 for(
const std::string& paramName:LGAD_moduleParamNames){
206 std::string paramValue = typeParams->getString(paramName);
207 LGAD_moduleMap[paramName] = paramValue;
209 std::string LGAD_moduleName = typeParams->getString(
"SensorType");
217 std::vector<std::string>
fields({
"endcap",
"layer",
"moduleInLayer"});
219 std::map<std::string, GeoFullPhysVol*> mapFPV = sqlreader->getPublishedNodes<std::string, GeoFullPhysVol*>(
"GeoModelXML");
220 for (
const auto&[fullPhysVolInfoString, fullPhysVolPointer] : mapFPV){
222 size_t startLGAD = fullPhysVolInfoString.find(
"lgad");
223 if(startLGAD==std::string::npos){
224 ATH_MSG_DEBUG(
"GeoFullPhysVol "<<fullPhysVolInfoString<<
" does not have the expected format. Skipping");
227 std::string
typeName = fullPhysVolInfoString.substr(startLGAD);
228 std::map<std::string, int>
index;
230 size_t first = fullPhysVolInfoString.find(
field+
"_");
231 size_t last = fullPhysVolInfoString.find(
'_',
first+
field.size()+1);
232 if(
first==std::string::npos || last==std::string::npos){
233 ATH_MSG_DEBUG(
"Could not extract "<<
field<<
" from "<<fullPhysVolInfoString<<
". Skipping");
236 std::string strNew = fullPhysVolInfoString.substr(
first+
field.size()+1,last-(
first+
field.size()+1));
◆ 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.
◆ makeLgadModule()
void HGTD_GmxInterface::makeLgadModule |
( |
const std::string & |
typeName, |
|
|
const std::map< std::string, std::string > & |
parameters |
|
) |
| |
|
private |
Definition at line 94 of file HGTD_GmxInterface.cxx.
100 int circuitsPerColumn{};
101 int circuitsPerRow{};
117 std::move(normalCell), padColumns, 0);
119 std::move(singleRow), padRows, 0);
125 circuitsPerColumn, circuitsPerRow,
126 padColumns, padRows/2,
127 padColumns, padRows/2,
128 std::move(fullMatrix),
◆ 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.
◆ 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
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ sensorId()
int HGTD_GmxInterface::sensorId |
( |
std::map< std::string, int > & |
index | ) |
const |
|
finaloverridevirtual |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_commonItems
◆ m_detectorManager
◆ m_geometryMap
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ 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 |
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
const AtlasDetectorID * getIdHelper() const
bool get_useNewIdentifierScheme() const
static std::shared_ptr< const PixelDiodeMatrix > construct(double phiWidth, double etaWidth)
Construct method for just a single cell.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
IMessageSvc * getMessageSvc(bool quiet=false)
Identifier wafer_id(int endcap, int layer, int phi_module, int eta_module) const
For a single crystal.
std::vector< T > getParameter(const std::string &varName, const std::vector< std::string > &buffer)
AthMessaging()
Default constructor:
std::map< std::string, const InDetDD::HGTD_ModuleDesign * > m_geometryMap
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
MsgStream & msg() const
The standard message stream.
bool is_valid() const
Check if id is in a valid state.
void makeLgadModule(const std::string &typeName, const std::map< std::string, std::string > ¶meters)
InDetDD::SiCommonItems * m_commonItems
void addDetectorElement(InDetDD::HGTD_DetectorElement *element)
Add elememts.
#define ATH_MSG_WARNING(x)
std::string m_nm
Message source name.
std::unique_ptr< IRDBRecord > IRDBRecord_ptr
static const SiHitIdHelper * GetHelper()
HGTD_DetectorManager * m_detectorManager
void initMessaging() const
Initialize our message level and MessageSvc.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
int buildHitId(const int, const int, const int, const int, const int, const int) const
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void addSensor(const std::string &typeName, std::map< std::string, int > &index, int sequentialId, GeoVFullPhysVol *fpv) override final