![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
17 #include "GaudiKernel/MsgStream.h"
23 const std::string& version_tag,
24 const std::string& version_node,
29 , m_currentTileGlob(0)
39 , m_currentTiclInd(-1)
42 , m_sqliteInput(sqliteInput)
119 return (*
m_tile)[0]->getInt(
"NMODUL");
124 return (*
m_tile)[0]->getDouble(
"RMIM");
129 return (*
m_tile)[0]->getDouble(
"RMAM");
134 return (*
m_tile)[0]->getDouble(
"ZMAM");
139 return (*
m_tile)[0]->getDouble(
"RMIN");
144 return (*
m_tile)[0]->getDouble(
"RMAX");
149 return (*
m_tile)[0]->getDouble(
"ZSHIFT");
169 ATH_MSG_ERROR(
"TileDddbManager::GetEnvType() - Current Envelope not set, returning -999" );
181 unsigned int ind2 = 0;
182 while (((*
m_tiglob)[ind2]->getInt(
"PART") !=
static_cast<int>(envelopeT)) && (++ind2 <
m_n_tiglob))
188 unsigned int ind3 = 0;
189 while (((*
m_timod)[ind3]->getInt(
"PART") !=
static_cast<int>(envelopeT)) && (++ind3 <
m_n_timod))
199 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentEnvByType() - Couldn't return begin of modules" );
204 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentEnvByType() - Couldn't return Envelope" );
220 unsigned int ind1 = 0;
226 int part = (*m_timod)[ind1]->getInt(
"PART");
227 if (
m_tag ==
"TileCal-02" ) {
240 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentEnvByIndex() - Couldn't return begin of modules" );
245 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentEnvByIndex() - Couldn't return Envelope" );
257 ATH_MSG_ERROR(
"TileDddbManager::GetEnvSide() - Current Section not set, returning -999" );
269 ATH_MSG_ERROR(
"TileDddbManager::GetEnvNModules() - Current Envelope not set, returning -999" );
280 ATH_MSG_ERROR(
"TileDddbManager::GetEnvRin() - Current Envelope not set, returning -999" );
291 ATH_MSG_ERROR(
"TileDddbManager::GetEnvRout() - Current Envelope not set, returning -999" );
303 if (len > 564 + 37.7*2 &&
m_tag ==
"TileCal-02") {
309 ATH_MSG_ERROR(
"TileDddbManager::GetEnvZLength() - Current Envelope not set, returning -999" );
320 if ( dphi != 0 &&
m_tag ==
"TileCal-02") {
321 dphi -= 360.0/64.0/2.;
326 ATH_MSG_ERROR(
"TileDddbManager::GetEnvDPhi() - Current Envelope not set, returning -999" );
338 if ( dz > 20 &&
m_tag ==
"TileCal-02") {
344 ATH_MSG_ERROR(
"TileDddbManager::GetEnvDZ() - Current Envelope not set, returning -999" );
355 ATH_MSG_ERROR(
"TileDddbManager::GetEnvDX() - Current Envelope not set, returning -999" );
366 ATH_MSG_ERROR(
"TileDddbManager::GetEnvDY() - Current Envelope not set, returning -999" );
377 ATH_MSG_ERROR(
"TileDddbManager::GetEnvDPsi() - Current Envelope not set, returning -999" );
388 ATH_MSG_ERROR(
"TileDddbManager::GetEnvDTheta() - Current Envelope not set, returning -999" );
399 ATH_MSG_ERROR(
"TileDddbManager::GetEnvZShift() - Current Envelope not set, returning -999" );
415 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentModuleByIndex() - Module number " << Id <<
" is out of range" );
425 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentModuleByIndex() - Current Envelope not set, returning -999" );
440 while (((*
m_timod)[ind4]->getInt(
"MODNUM") !=
static_cast<int>(Number))&&(++ind4 < EnvEnd))
450 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentModuleByNumber() - Couldn't return Module" );
455 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentModuleByNumber() - Current Envelope not set, returning -999" );
466 ATH_MSG_ERROR(
"TileDddbManager::GetModNumber() - Current Module not set, returning -999" );
477 ATH_MSG_ERROR(
"TileDddbManager::GetModType() - Current Module not set, returning -999" );
488 ATH_MSG_ERROR(
"TileDddbManager::GetModDX() - Current Module not set, returning -999" );
499 ATH_MSG_ERROR(
"TileDddbManager::GetModDY() - Current Module not set, returning -999" );
510 ATH_MSG_ERROR(
"TileDddbManager::GetModDZ() - Current Module not set, returning -999" );
521 ATH_MSG_ERROR(
"TileDddbManager::GetModDPhi() - Current Module not set, returning -999" );
532 ATH_MSG_ERROR(
"TileDddbManager::GetModDPsi() - Current Module not set, returning -999" );
543 ATH_MSG_ERROR(
"TileDddbManager::GetModDTheta() - Current Module not set, returning -999" );
555 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentTypeByIndex() - Type index (" << Id <<
") is out of range (" <<
m_modTypes.size() <<
")" );
586 while (fullType > 0) {
587 unsigned int subType = fullType%100;
605 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentSectionByIndex() - Section index (" << IdSection <<
") is out of range (" <<
m_n_tilb <<
")" );
618 unsigned int ind = 0;
625 if (
print)
ATH_MSG_ERROR(
"TileDddbManager::SetCurrentSection() - Unable to find the section" );
641 ATH_MSG_ERROR(
"TileDddbManager::TILBsection() - Current Section not set, returning -999" );
652 ATH_MSG_ERROR(
"TileDddbManager::TILBnperiod() - Current Section not set, returning -999" );
663 ATH_MSG_ERROR(
"TileDddbManager::TILBnmodul() - Current Section not set, returning -999" );
674 ATH_MSG_ERROR(
"TileDddbManager::TILBrmin() - Current Section not set, returning -999.9" );
685 ATH_MSG_ERROR(
"TileDddbManager::TILBrmax() - Current Section not set, returning -999.9" );
696 ATH_MSG_ERROR(
"TileDddbManager::TILBrminimal() - Current Section not set, returning -999.9" );
707 ATH_MSG_ERROR(
"TileDddbManager::TILBrmaximal() - Current Section not set, returning -999.9" );
718 ATH_MSG_ERROR(
"TileDddbManager::TILBdzperio() - Current Section not set, returning -999.9" );
729 ATH_MSG_ERROR(
"TileDddbManager::TILBdrfront() - Current Section not set, returning -999.9" );
740 ATH_MSG_ERROR(
"TileDddbManager::TILBdzend() - Current Section not set, returning -999.9" );
751 ATH_MSG_ERROR(
"TileDddbManager::TILBflangex() - Current Section not set, returning -999.9" );
762 ATH_MSG_ERROR(
"TileDddbManager::TILBflangey() - Current Section not set, returning -999.9" );
773 ATH_MSG_ERROR(
"TileDddbManager::TILBzoffset() - Current Section not set, returning -999.9" );
784 ATH_MSG_ERROR(
"TileDddbManager::TILBphigap() - Current Section not set, returning -999.9" );
795 ATH_MSG_ERROR(
"TileDddbManager::TILBisci_st() - Current Section not set, returning -999.9" );
806 ATH_MSG_ERROR(
"TileDddbManager::TILBdzmodul() - Current Section not set, returning -999.9" );
817 ATH_MSG_ERROR(
"TileDddbManager::TILBdzmast() - Current Section not set, returning -999.9" );
828 ATH_MSG_ERROR(
"TileDddbManager::TILBdzspac() - Current Section not set, returning -999.9" );
839 ATH_MSG_ERROR(
"TileDddbManager::TILBdzend1() - Current Section not set, returning -999.9" );
850 ATH_MSG_ERROR(
"TileDddbManager::TILBdzend2() - Current Section not set, returning -999.9" );
861 ATH_MSG_ERROR(
"TileDddbManager::TILBngirder() - Current Section not set, returning -999" );
872 ATH_MSG_ERROR(
"TileDddbManager::TILBnscin() - Current Section not set, returning -999" );
883 ATH_MSG_ERROR(
"TileDddbManager::TILBfingpattern() - Current Section not set, returning -999" );
894 ATH_MSG_ERROR(
"TileDddbManager::TILBnpercutpos() - Current Section not set, returning -999" );
905 ATH_MSG_ERROR(
"TileDddbManager::TILBnpercutneg() - Current Section not set, returning -999" );
920 ATH_MSG_ERROR(
"TileDddbManager::TILBcurscint() - Current Section not set, returning -999" );
931 ATH_MSG_ERROR(
"TileDddbManager::TILBdzgir() - Current Section not set, returning -999" );
939 unsigned int ind = 0;
947 ATH_MSG_ERROR(
"TileDddbManager::SetCurrentScin() - Unable to find the scintillator, item = " <<
item );
963 ATH_MSG_ERROR(
"TileDddbManager::SCNTitem() - Current Scintillator not set, returning -999" );
974 ATH_MSG_ERROR(
"TileDddbManager::SCNTdr() - Current Scintillator not set, returning -999.9" );
985 ATH_MSG_ERROR(
"TileDddbManager::SCNTrc() - Current Scintillator not set, returning -999.9" );
996 ATH_MSG_ERROR(
"TileDddbManager::SCNTzp() - Current Scintillator not set, returning -999.9" );
1007 ATH_MSG_ERROR(
"TileDddbManager::SCNTdrw() - Current Scintillator not set, returning -999.9" );
1018 ATH_MSG_ERROR(
"TileDddbManager::SCNTdt() - Current Scintillator not set, returning -999.9" );
1029 ATH_MSG_ERROR(
"TileDddbManager::SCNTdtw() - Current Scintillator not set, returning -999.9" );
1040 ATH_MSG_ERROR(
"TileDddbManager::SCNTdphi() - Current Scintillator not set, returning -999.9" );
1052 unsigned int ind = 0;
1059 {
ATH_MSG_ERROR(
"TileDddbManager::SetCurrentCuts() - Unable to find the m_currentCuts volume name = " <<
name );
1067 ATH_MSG_WARNING(
"TileDddbManager::SetCurrentCuts() - SetCuts Ext.Barrel Cuts unavailable in touched DB" );
1075 {
ATH_MSG_DEBUG(
"TileDddbManager::BoolCuts() - return false" );
1081 {std::string
output =
"-999.9";
1085 {
ATH_MSG_ERROR(
"TileDddbManager::CutsName() - Current VOLUME dimension not set, returning -999.9" );
1095 {
ATH_MSG_ERROR(
"TileDddbManager::CutsDX1() - Current dX1 dimension not set, returning -999.9" );
1105 {
ATH_MSG_ERROR(
"TileDddbManager::CutsDX2() - Current dX2 dimension not set, returning -999.9" );
1115 {
ATH_MSG_ERROR(
"TileDddbManager::CutsDY1() - Current dY1 dimension not set, returning -999.9" );
1125 {
ATH_MSG_ERROR(
"TileDddbManager::CutsDY2() - Current dY2 dimension not set, returning -999.9" );
1135 {
ATH_MSG_ERROR(
"TileDddbManager::CutsDZ1() - Current dZ1 dimension not set, returning -999.9" );
1145 {
ATH_MSG_ERROR(
"TileDddbManager::CutsXpos() - Current Xpos dimension not set, returning -999.9" );
1155 {
ATH_MSG_ERROR(
"TileDddbManager::CutsYpos() - Current Ypos dimension not set, returning -999.9" );
1173 ATH_MSG_WARNING(
"TileDddbManager::SetCurrentSaddle() - Saddle unavailable in touched DB");
1181 {
ATH_MSG_DEBUG(
"TileDddbManager::BoolSaddle() - return false" );
1191 {
ATH_MSG_ERROR(
"TileDddbManager::DzSaddleSupport() - dimension not set, returning -999.9" );
1201 {
ATH_MSG_ERROR(
"TileDddbManager::RadiusSaddle() - dimension not set, returning -999.9" );
1209 unsigned int ind = 0;
1217 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentGird() - Unable to find the girder element, item= " <<
item );
1233 ATH_MSG_ERROR(
"TileDddbManager::TIGRitem() - Current Girder element not set, returning -999" );
1244 ATH_MSG_ERROR(
"TileDddbManager::TIGRmaterial() - Current Girder element not set, returning -999" );
1255 ATH_MSG_ERROR(
"TileDddbManager::TIGRrc() - Current Girder element not set, returning -999.9" );
1266 ATH_MSG_ERROR(
"TileDddbManager::TIGRdr() - Current Girder element not set, returning -999.9" );
1277 ATH_MSG_ERROR(
"TileDddbManager::TIGRdw() - Current Girder element not set, returning -999.9" );
1288 ATH_MSG_ERROR(
"TileDddbManager::TIGRoff() - Current Girder element not set, returning -999.9" );
1296 unsigned int ind = 0;
1304 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentTifg() - Unable to find the finger, section = " <<
section );
1320 ATH_MSG_ERROR(
"TileDddbManager::TIFGsection() - Current TIFG not set, returning -999" );
1331 ATH_MSG_ERROR(
"TileDddbManager::TIFGnelem() - Current TIFG not set, returning -999" );
1342 ATH_MSG_ERROR(
"TileDddbManager::TIFGdz() - Current TIFG not set, returning -999.9" );
1350 unsigned int ind = 0;
1358 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentTicg() - Unable to find the finger element, item = " <<
item );
1374 ATH_MSG_ERROR(
"TileDddbManager::TICGitem() - Current TICG not set, returning -999" );
1385 ATH_MSG_ERROR(
"TileDddbManager::TICGmaterial() - Current TICG not set, returning -999" );
1396 ATH_MSG_ERROR(
"TileDddbManager::TICGshape() - Current TICG not set, returning -999" );
1407 ATH_MSG_ERROR(
"TileDddbManager::TICGrc() - Current TICG not set, returning -999.9" );
1418 ATH_MSG_ERROR(
"TileDddbManager::TICGdr() - Current TICG not set, returning -999.9" );
1429 ATH_MSG_ERROR(
"TileDddbManager::TICGdx1() - Current TICG not set, returning -999.9" );
1440 ATH_MSG_ERROR(
"TileDddbManager::TICGdx2() - Current TICG not set, returning -999.9" );
1451 ATH_MSG_ERROR(
"TileDddbManager::TICGoff() - Current TICG not set, returning -999.9" );
1462 ATH_MSG_ERROR(
"TileDddbManager::TICGdz() - Current TICG not set, returning -999.9" );
1473 ATH_MSG_ERROR(
"TileDddbManager::TICGzc() - Current TICG not set, returning -999.9" );
1486 unsigned int detector_ind = 0;
1495 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentTicl() - Unable to find any cell for the detector = " <<
detector );
1509 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentTicl() - Unable to find any cell for sample = "
1524 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentTicl() - Unable to find any cell for tower = "
1525 << tower <<
" in the detector = " <<
detector <<
" and sample = " <<
sample );
1542 ATH_MSG_DEBUG(
"TileDddbManager::SetCurrentTicl() - The requested index = " <<
index <<
" out of range." );
1555 unsigned int ind = 0;
1573 unsigned int detector_ind = 0;
1641 ATH_MSG_ERROR(
"TileDddbManager::TICLdetector() - Current TICL not set, returning -999" );
1652 ATH_MSG_ERROR(
"TileDddbManager::TICLncell() - Current TICL not set, returning -999.9" );
1663 ATH_MSG_ERROR(
"TileDddbManager::TICLtower() - Current TICL not set, returning -999.9" );
1674 ATH_MSG_ERROR(
"TileDddbManager::TICLsample() - Current TICL not set, returning -999.9" );
1685 ATH_MSG_ERROR(
"TileDddbManager::TICLeta() - Current TICL not set, returning -999.9" );
1696 ATH_MSG_ERROR(
"TileDddbManager::TICLdeta() - Current TICL not set, returning -999.9" );
1707 ATH_MSG_ERROR(
"TileDddbManager::TICLfirstrow() - Current TICL not set, returning -999.9" );
1718 ATH_MSG_ERROR(
"TileDddbManager::TICLlastrow() - Current TICL not set, returning -999.9" );
1729 ATH_MSG_ERROR(
"TileDddbManager::TICLntilesrow() - Current TICL not set, returning 9999" );
1740 ATH_MSG_ERROR(
"TileDddbManager::TICLnpmt() - Current TICL not set, returning -999.9" );
1751 ATH_MSG_ERROR(
"TileDddbManager::TICLholes() - Current TICL not set, returning 9999" );
1761 ATH_MSG_DEBUG(
"TileDddbManager::getSwitch() - TileSwitches(" <<
name <<
") is EMPTY, returning " <<
name <<
" = " <<
val );
1767 ATH_MSG_WARNING(
"TileDddbManager::getSwitch() - TileSwitches table does not contain field " <<
name <<
", returning " <<
name <<
" = " <<
val );
1771 ATH_MSG_ERROR(
"TileDddbManager::getSwitch() - TileSwitches is not set, returning " <<
name <<
" = " <<
val );
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
int SetCurrentEnvByIndex(unsigned int envelope)
const IRDBRecord * m_currentSection
const IRDBRecord * m_currentTileMod
int SetCurrentEnvByType(unsigned int envelope)
int SetCurrentModuleByNumber(unsigned int Number)
int SCNTitem() const
Fields of SCNT structure (see also Oracle comments):
int SetCurrentSection(unsigned int section, bool print=true)
const IRDBRecord * m_currentTileGlob
int SetCurrentTifg(int section)
double TICLntilesrow(unsigned int ind) const
double RadiusSaddle() const
double GetModDTheta() const
double TILBisci_st() const
std::string CutsName() const
double TILBflangex() const
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
double GetEnvDPsi() const
int SetCurrentCuts(std::string input)
Fields of CUTS structure (see also Oracle comments):
int SetCurrentTypeByNumber(unsigned int Number)
double GetEnvDPhi() const
std::vector< unsigned int > m_modTypes
int SetCurrentTicg(int item)
const IRDBRecord * m_currentTicg
double TICLsample() const
const IRDBRecord * m_currentGird
int GetNumberOfEnv() const
double TILBdzmodul() const
const IRDBRecord * m_currentTicl
double TILEzshift() const
int SetCurrentTicl(int detector, double sample, double tower)
double TICLfirstrow() const
double TILBdrfront() const
int SetCurrentSectionByNumber(unsigned int section)
const IRDBRecord * m_currentCuts
double TILBphigap() const
double TILBzoffset() const
int SetCurrentScin(int item)
int SetCurrentTypeByIndex(unsigned int Id)
double TICLholes(unsigned int ind) const
double TILBdzperio() const
unsigned int GetNumTilb() const
int SetCurrentSectionByIndex(unsigned int IdSection)
Definition of the abstract IRDBAccessSvc interface.
double TICLlastrow() const
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
double DzSaddleSupport() const
double GetEnvZShift() const
double GetEnvZLength() const
unsigned int m_n_tileSwitches
double TILBdzend1() const
double TILBrmaximal() const
Class to provide easy MsgStream access and capabilities.
int SetFirstTiclInDetSamp(int detector, double sample)
int getSwitch(const char *name, int def_val) const
def access(filename, mode)
int TILBnpercutneg() const
IRDBRecordset_ptr m_tileSwitches
IRDBRecordset_ptr m_tiglob
double GetModDPhi() const
unsigned int GetModTypeSize() const
int TILBnpercutpos() const
const IRDBRecord * m_currentSaddle
int SetCurrentGird(int item)
const IRDBRecord * m_currentTifg
double TILBdzspac() const
IRDBRecordset_ptr m_timod
TileDddbManager(IRDBAccessSvc *access, const std::string &version_tag, const std::string &version_node, bool sqliteInput=false)
double TILBrminimal() const
int SetNextTiclInDetSamp()
Definition of the abstract IRDBRecord interface.
const IRDBRecord * m_currentScin
#define ATH_MSG_WARNING(x)
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
unsigned int GetNumTicl() const
int SetFirstTiclInDet(int detector)
std::string print(const MuPatSegment &)
double TILBdzend2() const
double TILBflangey() const
double TILBdzmast() const
IRDBRecordset_ptr m_saddle
virtual double getDouble(const std::string &fieldName) const =0
Get double field value.
Definition of the abstract IRDBRecordset interface.
double GetEnvRout() const
#define sample_ind(r, m, c, i)
int SetCurrentModuleByIndex(unsigned int Id)
int SetCurrentSaddle(unsigned int index)
Fields of SADDLE structure (see also Oracle comments):
virtual float getFloat(const std::string &fieldName) const =0
Get float field value.
int TILBfingpattern() const
double GetEnvDTheta() const
int GetEnvNModules() const
const GeoVPhysVol * m_node
double GetModDPsi() const