diff --git a/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx b/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx index 2004182bc49407591c1658ab8e0189c910665b32..944d08c515bcef0251ab25b6360ff48215d7163b 100755 --- a/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx +++ b/TileCalorimeter/TileDetDescr/src/TileDetDescrManager.cxx @@ -523,11 +523,16 @@ void TileDetDescrManager::create_elements(bool checks) -cell_dim->getZMin(ic)); // size and position right if (section == TileID::BARREL && sample==1 && tower < 8) { - if ( m_verbose && (0 == iphi) ) + if ( m_verbose && (0 == iphi) ) { + double z1 = 0.5*(cell_dim->getZMax(0)+cell_dim->getZMin(0)); + double dz1 = fabs(cell_dim->getZMax(0)-cell_dim->getZMin(0)); + double z2 = 0.5*(cell_dim->getZMax(ic)+cell_dim->getZMin(ic)); + double dz2 = fabs(cell_dim->getZMax(ic)-cell_dim->getZMin(ic)); std::cout<<"old z/dz: " << oldz << " " << olddz << std::endl - <<"new z/dz: " << z << " " << dz << " " + <<"new z/dz: " << z << " " << dz << " ( B: " << z1 << " " << dz1 << " C: " << z2 << " " << dz2 << " ) " << z/oldz*100-100 << " % diff " <<"do not change z/dz for BC cells in barrel"<<std::endl; + } } else if ( (section == TileID::GAPDET) && (sample == TileID::SAMP_E) ) { elt->set_z( descr->zcenter(isamp) ); @@ -762,15 +767,14 @@ void TileDetDescrManager::create_elements(bool checks) double standardD4dz = elt->dz(); double specialD4dz = m_dbManager->TILBdzmodul()*Gaudi::Units::cm; - if ( Id4 == 8 ) specialD4dz = 0.; - /* WILL BE FIXED LATER - else if (! m_dbManager->addPlatesToCell()) specialD4dz -= m_dbManager->TILBdzend1()*Gaudi::Units::cm; + if (! m_dbManager->addPlatesToCell()) specialD4dz -= m_dbManager->TILBdzend1()*Gaudi::Units::cm; + // special case of non-existing D4 in EBA15 and EBC18 + // if ( Id4 == 8 ) specialD4dz = 0.; commented out - don't set size to zero - it'll be used in TICAL derivation code if (elt->z() > 0.) elt->set_z(elt->z()+0.5*(standardD4dz-specialD4dz)); else elt->set_z(elt->z()-0.5*(standardD4dz-specialD4dz)); - */ elt->set_dz(specialD4dz); elt->set_volume(newv * specialD4dz/(standardD4dz)); @@ -848,9 +852,6 @@ void TileDetDescrManager::create_elements(bool checks) oldz = elt->z(); double standardD5dz = elt->dz(); double specialD4dz = m_dbManager->TILBdzmodul()*Gaudi::Units::cm; - elt->set_dz(specialD4dz + standardD5dz); - elt->set_volume(elt->volume()* (1. + specialD4dz/standardD5dz)); - /* WILL BE FIXED LATER double specialD4Rin = m_dbManager->TILBrmin()*Gaudi::Units::cm; if (m_dbManager->addPlatesToCell()) { specialD4Rin -= m_dbManager->TILBdrfront()*Gaudi::Units::cm; @@ -859,6 +860,7 @@ void TileDetDescrManager::create_elements(bool checks) } double newS = (pow((elt->r() + elt->dr()/2.),2) - specialD4Rin*specialD4Rin)/(2.*elt->r()*elt->dr()); elt->set_volume(elt->volume()* (1. + newS*specialD4dz/standardD5dz)); + /* commented out - don't change z and dz for special D5+D4 elt->set_dz(specialD4dz + standardD5dz); if (elt->z() > 0.) elt->set_z(elt->z()-0.5*specialD4dz);