#include <DDHCalBarrelAlgo.h>
Public Member Functions | |
DDHCalBarrelAlgo () | |
void | execute (DDCompactView &cpv) |
double | getAbsorbD (unsigned int i) const |
int | getAbsorberN () const |
std::string | getAbsorbMat (unsigned int i) const |
std::string | getAbsorbName (unsigned int i) const |
double | getAbsorbT (unsigned int i) const |
double | getDetdP1 (unsigned int i) const |
double | getDetdP2 (unsigned int i) const |
std::string | getDetMat () const |
std::string | getDetMatPl () const |
std::string | getDetMatSc () const |
int | getDetPosY (unsigned int i) const |
double | getDetT11 (unsigned int i) const |
double | getDetT12 (unsigned int i) const |
double | getDetT21 (unsigned int i) const |
double | getDetT22 (unsigned int i) const |
double | getDetTsc (unsigned int i) const |
int | getDetType (unsigned int i) const |
double | getDetWidth1 (unsigned int i) const |
double | getDetWidth2 (unsigned int i) const |
std::string | getGenMaterial () const |
int | getLayerAbsorb (unsigned int i) const |
double | getLayerAlpha (unsigned i) const |
double | getLayerD1 (unsigned i) const |
double | getLayerD2 (unsigned i) const |
double | getLayerGap (unsigned int i) const |
int | getLayerId (unsigned i) const |
std::string | getLayerLabel (unsigned i) const |
std::string | getLayerMaterial (unsigned i) const |
double | getLayerT1 (unsigned i) const |
double | getLayerT2 (unsigned i) const |
double | getLayerWidth (unsigned i) const |
std::string | getMidAbsMat (unsigned int i) const |
std::string | getMidAbsName (unsigned int i) const |
int | getMidAbsorber () const |
double | getMidAbsT (unsigned int i) const |
double | getMidAbsW (unsigned int i) const |
double | getMiddleD () const |
std::string | getMiddleMat () const |
double | getMiddleW () const |
int | getNhalf () const |
int | getNLayers () const |
int | getNsectors () const |
int | getNsectortot () const |
double | getRin () const |
double | getRmax (unsigned int i) const |
double | getRout () const |
int | getRzones () const |
std::string | getSideAbsMat (unsigned int i) const |
std::string | getSideAbsName (unsigned int i) const |
int | getSideAbsorber () const |
double | getSideAbsW (unsigned int i) const |
double | getSideD (unsigned int i) const |
std::string | getSideMat (unsigned int i) const |
double | getSideT (unsigned int i) const |
double | getTanTheta (unsigned int i) const |
double | getTheta (unsigned int i) const |
double | getZoff (unsigned int i) const |
void | initialize (const DDNumericArguments &nArgs, const DDVectorArguments &vArgs, const DDMapArguments &mArgs, const DDStringArguments &sArgs, const DDStringVectorArguments &vsArgs) |
virtual | ~DDHCalBarrelAlgo () |
Protected Member Functions | |
void | constructGeneralVolume (DDCompactView &cpv) |
void | constructInsideDetectors (DDLogicalPart detector, std::string name, int id, double dx, double dy, double dz, int type, DDCompactView &cpv) |
void | constructInsideLayers (DDLogicalPart laylog, std::string name, int id, int nAbs, double rin, double d1, double alpha1, double d2, double alpha2, double t1, double t2, DDCompactView &cpv) |
void | constructInsideSector (DDLogicalPart sector, DDCompactView &cpv) |
DDLogicalPart | constructMidLayer (DDLogicalPart laylog, std::string nm, double rin, double alpha, DDCompactView &cpv) |
DDLogicalPart | constructSideLayer (DDLogicalPart laylog, std::string nm, int nAbs, double rin, double alpha, DDCompactView &cpv) |
Private Attributes | |
std::vector< double > | absorbD |
std::vector< std::string > | absorbMat |
std::vector< std::string > | absorbName |
std::vector< double > | absorbT |
std::vector< double > | detdP1 |
std::vector< double > | detdP2 |
std::string | detMat |
std::string | detMatPl |
std::string | detMatSc |
std::vector< int > | detPosY |
std::string | detRot |
std::vector< double > | detT11 |
std::vector< double > | detT12 |
std::vector< double > | detT21 |
std::vector< double > | detT22 |
std::vector< double > | detTsc |
std::vector< int > | detType |
std::vector< double > | detWidth1 |
std::vector< double > | detWidth2 |
std::string | genMaterial |
std::string | idName |
std::string | idNameSpace |
int | idOffset |
std::vector< int > | layerAbsorb |
std::vector< double > | layerAlpha |
std::vector< double > | layerD1 |
std::vector< double > | layerD2 |
std::vector< double > | layerGap |
std::vector< int > | layerId |
std::vector< std::string > | layerLabel |
std::vector< std::string > | layerMat |
std::vector< double > | layerT1 |
std::vector< double > | layerT2 |
std::vector< double > | layerWidth |
double | middleD |
std::string | middleMat |
double | middleW |
std::vector< std::string > | midMat |
std::vector< std::string > | midName |
std::vector< double > | midT |
std::vector< double > | midW |
int | nAbsorber |
int | nhalf |
int | nLayers |
int | nMidAbs |
int | nsectors |
int | nsectortot |
int | nSideAbs |
double | rin |
std::vector< double > | rmax |
std::string | rotHalf |
std::string | rotns |
double | rout |
int | rzones |
std::vector< std::string > | sideAbsMat |
std::vector< std::string > | sideAbsName |
std::vector< double > | sideAbsW |
std::vector< double > | sideD |
std::vector< std::string > | sideMat |
std::vector< double > | sideT |
std::vector< double > | theta |
std::vector< double > | ttheta |
std::vector< double > | zoff |
Definition at line 10 of file DDHCalBarrelAlgo.h.
DDHCalBarrelAlgo::DDHCalBarrelAlgo | ( | ) |
Definition at line 22 of file DDHCalBarrelAlgo.cc.
References LogDebug.
: theta(0),rmax(0),zoff(0),ttheta(0),layerId(0),layerLabel(0),layerMat(0), layerWidth(0),layerD1(0),layerD2(0),layerAlpha(0),layerT1(0),layerT2(0), layerAbsorb(0),layerGap(0),absorbName(0),absorbMat(0),absorbD(0),absorbT(0), midName(0),midMat(0),midW(0),midT(0),sideMat(0),sideD(0),sideT(0), sideAbsName(0),sideAbsMat(0),sideAbsW(0),detType(0),detdP1(0),detdP2(0), detT11(0),detT12(0),detTsc(0),detT21(0),detT22(0),detWidth1(0),detWidth2(0), detPosY(0) { LogDebug("HCalGeom") << "DDHCalBarrelAlgo info: Creating an instance"; }
DDHCalBarrelAlgo::~DDHCalBarrelAlgo | ( | ) | [virtual] |
Definition at line 33 of file DDHCalBarrelAlgo.cc.
{}
void DDHCalBarrelAlgo::constructGeneralVolume | ( | DDCompactView & | cpv | ) | [protected] |
Definition at line 198 of file DDHCalBarrelAlgo.cc.
References alpha, constructInsideSector(), dbl_to_string(), DDrot(), DDSplit(), first, getGenMaterial(), getNhalf(), getNsectors(), getNsectortot(), getRin(), getRmax(), getRout(), getTanTheta(), getZoff(), i, idName, idNameSpace, LogDebug, mergeVDriftHistosByStation::name, DDBase< N, C >::name(), dbtoconf::parent, phi, pi, DDSolidFactory::polyhedra(), DDCompactView::position(), rin, makeMuonMisalignmentScenario::rot, idealTransformation::rotation, rotHalf, rotns, rout, and edm::second().
Referenced by execute().
{ LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: General volume..."; unsigned int i=0; DDRotation rot = DDRotation(); double alpha = CLHEP::pi/getNsectors(); double dphi = getNsectortot()*CLHEP::twopi/getNsectors(); int nsec, ntot=15; if (getNhalf() == 1) nsec = 8; else nsec = 15; int nf = ntot - nsec; //Calculate zmin... see HCalBarrel.hh picture. For polyhedra //Rmin and Rmax are distances to vertex double zmax = getZoff(3); double zstep5 = getZoff(4); double zstep4 =(getZoff(1) + getRmax(1)*getTanTheta(1)); if ((getZoff(2)+getRmax(1)*getTanTheta(2)) > zstep4) zstep4 = (getZoff(2)+getRmax(1)*getTanTheta(2)); double zstep3 =(getZoff(1) + getRmax(0)*getTanTheta(1)); double zstep2 =(getZoff(0) + getRmax(0)*getTanTheta(0)); double zstep1 =(getZoff(0) + getRin() *getTanTheta(0)); double rout = getRout(); double rout1 = getRmax(3); double rin = getRin(); double rmid1 = getRmax(0); double rmid2 = getRmax(1); double rmid3 =(getZoff(4) - getZoff(2))/getTanTheta(2); double rmid4 = getRmax(2); vector<double> pgonZ; pgonZ.push_back( -zmax); pgonZ.push_back( -zstep5); pgonZ.push_back( -zstep5); pgonZ.push_back( -zstep4); pgonZ.push_back( -zstep3); pgonZ.push_back( -zstep2); pgonZ.push_back( -zstep1); pgonZ.push_back( 0); pgonZ.push_back( zstep1); pgonZ.push_back( zstep2); pgonZ.push_back( zstep3); pgonZ.push_back( zstep4); pgonZ.push_back( zstep5); pgonZ.push_back( zstep5); pgonZ.push_back( zmax); vector<double> pgonRmin; pgonRmin.push_back( rmid4); pgonRmin.push_back( rmid3); pgonRmin.push_back( rmid3); pgonRmin.push_back( rmid2); pgonRmin.push_back( rmid1); pgonRmin.push_back( rmid1); pgonRmin.push_back( rin); pgonRmin.push_back( rin); pgonRmin.push_back( rin); pgonRmin.push_back( rmid1); pgonRmin.push_back( rmid1); pgonRmin.push_back( rmid2); pgonRmin.push_back( rmid3); pgonRmin.push_back( rmid3); pgonRmin.push_back( rmid4); vector<double> pgonRmax; pgonRmax.push_back( rout1); pgonRmax.push_back( rout1); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout); pgonRmax.push_back( rout1); pgonRmax.push_back( rout1); vector<double> pgonZHalf; pgonZHalf.push_back( 0); pgonZHalf.push_back( zstep1); pgonZHalf.push_back( zstep2); pgonZHalf.push_back( zstep3); pgonZHalf.push_back( zstep4); pgonZHalf.push_back( zstep5); pgonZHalf.push_back( zstep5); pgonZHalf.push_back( zmax); vector<double> pgonRminHalf; pgonRminHalf.push_back( rin); pgonRminHalf.push_back( rin); pgonRminHalf.push_back( rmid1); pgonRminHalf.push_back( rmid1); pgonRminHalf.push_back( rmid2); pgonRminHalf.push_back( rmid3); pgonRminHalf.push_back( rmid3); pgonRminHalf.push_back( rmid4); vector<double> pgonRmaxHalf; pgonRmaxHalf.push_back( rout); pgonRmaxHalf.push_back( rout); pgonRmaxHalf.push_back( rout); pgonRmaxHalf.push_back( rout); pgonRmaxHalf.push_back( rout); pgonRmaxHalf.push_back( rout); pgonRmaxHalf.push_back( rout1); pgonRmaxHalf.push_back( rout1); string name("Null"); DDSolid solid; if (nf == 0) { solid = DDSolidFactory::polyhedra(DDName(idName, idNameSpace), getNsectortot(), -alpha, dphi, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << DDName(idName, idNameSpace) <<" Polyhedra made of " << getGenMaterial() << " with " << getNsectortot() << " sectors from " << -alpha/CLHEP::deg <<" to " << (-alpha+dphi)/CLHEP::deg << " and with " << nsec << " sections "; for (i = 0; i <pgonZ.size(); i++) { LogDebug("HCalGeom") << "\t" << "\tZ = " << pgonZ[i] << "\tRmin = " << pgonRmin[i] << "\tRmax = " << pgonRmax[i]; } } else { solid = DDSolidFactory::polyhedra(DDName(idName, idNameSpace), getNsectortot(), -alpha, dphi, pgonZHalf, pgonRminHalf, pgonRmaxHalf); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << DDName(idName, idNameSpace) <<" Polyhedra made of " << getGenMaterial() << " with " << getNsectortot() << " sectors from " << -alpha/CLHEP::deg << " to " << (-alpha+dphi)/CLHEP::deg << " and with " << nsec << " sections "; for (i = 0; i < pgonZHalf.size(); i++) { LogDebug("HCalGeom") << "\t" << "\tZ = " << pgonZHalf[i] << "\tRmin = " << pgonRminHalf[i] << "\tRmax = " <<pgonRmaxHalf[i]; } } DDName matname(DDSplit(getGenMaterial()).first, DDSplit(getGenMaterial()).second); DDMaterial matter(matname); DDLogicalPart genlogic(DDName(idName, idNameSpace), matter, solid); DDName parentName = parent().name(); DDTranslation r0(0,0,0); cpv.position(DDName(idName, idNameSpace), parentName, 1, r0, rot); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << DDName(idName, idNameSpace) << " number 1 positioned" << " in " << parentName << " at " << r0 <<" with "<<rot; //Forward and backwards halfs name = idName + "Half"; nf = (ntot+1)/2; LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << DDName(name,idNameSpace) << " Polyhedra made of " << getGenMaterial() << " with " << getNsectortot() << " sectors from " << -alpha/CLHEP::deg << " to " << (-alpha+dphi)/CLHEP::deg << " and with " << nf << " sections "; for (i = 0; i < pgonZHalf.size(); i++) { LogDebug("HCalGeom") << "\t" << "\tZ = " << pgonZHalf[i] << "\tRmin = " << pgonRminHalf[i] << "\tRmax = " << pgonRmaxHalf[i]; } solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), getNsectortot(), -alpha, dphi, pgonZHalf, pgonRminHalf, pgonRmaxHalf); DDLogicalPart genlogich(DDName(name, idNameSpace), matter, solid); cpv.position(genlogich, genlogic, 1, r0, rot); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << genlogich.name() << " number 1 positioned in " << genlogic.name() << " at " << r0 << " with " << rot; if (getNhalf() != 1) { rot = DDRotation(DDName(rotHalf, rotns)); cpv.position(genlogich, genlogic, 2, r0, rot); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << genlogich.name() << " number 2 positioned in " << genlogic.name() << " at " << r0 << " with " << rot; } //end if (getNhalf... //Construct sector (from -alpha to +alpha) name = idName + "Module"; LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << DDName(name,idNameSpace) << " Polyhedra made of " << getGenMaterial() << " with 1 sector from " << -alpha/CLHEP::deg << " to " << alpha/CLHEP::deg << " and with " << nf <<" sections"; for (i = 0; i < pgonZHalf.size(); i++) { LogDebug("HCalGeom") << "\t" << "\tZ = " << pgonZHalf[i] << "\tRmin = " << pgonRminHalf[i] << "\tRmax = " << pgonRmaxHalf[i]; } solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha, 2*alpha, pgonZHalf, pgonRminHalf, pgonRmaxHalf); DDLogicalPart seclogic(DDName(name, idNameSpace), matter, solid); for (int ii=0; ii<getNsectortot(); ii++) { double phi = ii*2*alpha; double phideg = phi/CLHEP::deg; DDRotation rotation; string rotstr("NULL"); if (phideg != 0) { rotstr = "R"; if (phideg < 100) rotstr = "R0"; rotstr = rotstr + dbl_to_string(phideg); rotation = DDRotation(DDName(rotstr, rotns)); if (!rotation) { LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: Creating a new rotat" << "ion " << rotstr << "\t" << 90 << "," << phideg << "," << 90 << "," << (phideg+90) << ", 0, 0"; rotation = DDrot(DDName(rotstr, rotns), 90*CLHEP::deg, phideg*CLHEP::deg, 90*CLHEP::deg, (90+phideg)*CLHEP::deg, 0*CLHEP::deg, 0*CLHEP::deg); } //if !rotation } //if phideg!=0 cpv.position(seclogic, genlogich, ii+1, r0, rotation); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << seclogic.name() << " number " << ii+1 << " positioned in " << genlogich.name() << " at " << r0 << " with " << rotation; } //Construct the things inside the sector constructInsideSector(seclogic, cpv); }
void DDHCalBarrelAlgo::constructInsideDetectors | ( | DDLogicalPart | detector, |
std::string | name, | ||
int | id, | ||
double | dx, | ||
double | dy, | ||
double | dz, | ||
int | type, | ||
DDCompactView & | cpv | ||
) | [protected] |
Definition at line 885 of file DDHCalBarrelAlgo.cc.
References DDSolidFactory::box(), DDBase< N, C >::ddname(), DDSplit(), first, getDetdP1(), getDetdP2(), getDetMatPl(), getDetMatSc(), getDetPosY(), getDetT11(), getDetT12(), getDetT21(), getDetT22(), getDetTsc(), getDetType(), getDetWidth1(), getDetWidth2(), idName, idNameSpace, LogDebug, DDName::name(), mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDCompactView::position(), edm::second(), x, and detailsBasic3DVector::y.
Referenced by constructInsideLayers().
{ LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: \t\tInside detector " << id << "..."; DDName plmatname(DDSplit(getDetMatPl()).first, DDSplit(getDetMatPl()).second); DDMaterial plmatter(plmatname); DDName scmatname(DDSplit(getDetMatSc()).first, DDSplit(getDetMatSc()).second); DDMaterial scmatter(scmatname); string plname = detector.name().name()+"Plastic_"; string scname = idName+"Scintillator"+name; id--; DDSolid solid; DDLogicalPart glog; double wid, y=0; double dx1, dx2, shiftX; if (type == 1) { wid = 0.5*getDetWidth1(id); if (getDetPosY(id)>0) y =-dy+wid; dx1 = 0.5*getDetT11(id); dx2 = 0.5*getDetT21(id); shiftX = getDetdP1(id); } else { wid = 0.5*getDetWidth2(id); dx1 = 0.5*getDetT12(id); dx2 = 0.5*getDetT22(id); shiftX = getDetdP2(id); } solid = DDSolidFactory::box(DDName(plname+"1", idNameSpace), dx1, wid, dz); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Box made of " << getDetMatPl() << " of dimensions " << dx1 <<", " << wid << ", " << dz; glog = DDLogicalPart(solid.ddname(), plmatter, solid); double x = shiftX + dx1 - dx; cpv.position(glog, detector, 1, DDTranslation(x,y,0), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() << " Number 1 positioned in " << detector.name() << " at (" << x << "," << y << ",0) with no rotation"; solid = DDSolidFactory::box(DDName(scname, idNameSpace), 0.5*getDetTsc(id), wid, dz); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Box made of " << getDetMatSc() << " of dimensions " << 0.5*getDetTsc(id) << ", " << wid << ", " << dz; glog = DDLogicalPart(solid.ddname(), scmatter, solid); x += dx1 + 0.5*getDetTsc(id); int copyNo = id*10 + getDetType(id); cpv.position(glog, detector, copyNo, DDTranslation(x, y, 0), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() <<" Number " << copyNo << " positioned in " << detector.name() << " at (" << x << "," << y << ",0) with no rotation"; solid = DDSolidFactory::box(DDName(plname+"2", idNameSpace), dx2, wid, dz); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Box made of " << getDetMatPl() << " of dimensions " << dx2 <<", " << wid << ", " << dz; glog = DDLogicalPart(solid.ddname(), plmatter, solid); x+=0.5*getDetTsc(id) + dx2; cpv.position(glog, detector, 1, DDTranslation(x, y, 0), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() << " Number 1 positioned in " << detector.name() << " at (" << x << "," << y << ",0) with no rotation"; }
void DDHCalBarrelAlgo::constructInsideLayers | ( | DDLogicalPart | laylog, |
std::string | name, | ||
int | id, | ||
int | nAbs, | ||
double | rin, | ||
double | d1, | ||
double | alpha1, | ||
double | d2, | ||
double | alpha2, | ||
double | t1, | ||
double | t2, | ||
DDCompactView & | cpv | ||
) | [protected] |
Definition at line 554 of file DDHCalBarrelAlgo.cc.
References DDSolidFactory::box(), constructInsideDetectors(), constructMidLayer(), constructSideLayer(), DDBase< N, C >::ddname(), DDSplit(), detRot, first, getDetMat(), getRmax(), getRzones(), getTanTheta(), getZoff(), i, idName, idNameSpace, idOffset, recoMuon::in, LogDebug, mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDCompactView::position(), makeMuonMisalignmentScenario::rot, rotns, edm::second(), funct::tan(), x, and detailsBasic3DVector::y.
Referenced by constructInsideSector().
{ LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: \t\tInside layer " << id << "..."; //Pointers to the Rotation Matrices and to the Materials DDRotation rot(DDName(detRot, rotns)); string nam0 = nm + "In"; string name = idName + nam0; DDName matName(DDSplit(getDetMat()).first, DDSplit(getDetMat()).second); DDMaterial matter (matName); DDSolid solid; DDLogicalPart glog, mother; double rsi, dx, dy, dz, x, y; int i, in; //Two lower volumes if (alpha1 > 0) { rsi = rin + d1; in = 0; for (i = 0; i < getRzones()-1; i++) { if (rsi >= getRmax(i)) in = i+1; } dx = 0.5*t1; dy = 0.5*rsi*(tan(alpha1)-tan(alpha2)); dz = 0.5*(getZoff(in) + rsi*getTanTheta(in)); x = rsi + dx; y = 0.5*rsi*(tan(alpha1)+tan(alpha2)); DDTranslation r11(x, y, dz); DDTranslation r12(x, -y, dz); solid = DDSolidFactory::box(DDName(name+"1", idNameSpace), dx, dy, dz); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() <<" Box made of " << getDetMat() << " of dimensions " << dx << ", " << dy << ", " << dz; glog = DDLogicalPart(solid.ddname(), matter, solid); if (nAbs != 0) { mother = constructSideLayer(laylog, name, nAbs, rin, alpha1, cpv); } else { mother = laylog; } cpv.position(glog, mother, idOffset+1, r11, DDRotation()); cpv.position(glog, mother, idOffset+2, r12, rot); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() << " Number " << idOffset+1 << " positioned in " << mother.name() << " at " << r11 << " with no rotation\n" << "DDHCalBarrelAlgo test: " << glog.name() << " Number " << idOffset+2 << " positioned in " << mother.name() << " at " << r12 << " with " << rot; //Constructin the plastics and scintillators inside constructInsideDetectors(glog, nam0+"1", id, dx, dy, dz, 1, cpv); } //Upper volume rsi = rin + d2; in = 0; for (i = 0; i < getRzones()-1; i++) { if (rsi >= getRmax(i)) in = i+1; } dx = 0.5*t2; dy = 0.5*rsi*tan(alpha2); dz = 0.5*(getZoff(in) + rsi*getTanTheta(in)); x = rsi + dx; DDTranslation r21(x, dy, dz); DDTranslation r22(x, -dy, dz); solid = DDSolidFactory::box(DDName(name+"2", idNameSpace), dx, dy, dz); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Box made of " << getDetMat() << " of dimensions " << dx << ", " << dy << ", " << dz; glog = DDLogicalPart(solid.ddname(), matter, solid); if (nAbs < 0) { mother = constructMidLayer(laylog, name, rin, alpha1, cpv); } else { mother = laylog; } cpv.position(glog, mother, idOffset+3, r21, DDRotation()); cpv.position(glog, mother, idOffset+4, r22, rot); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() <<" Number " << idOffset+3 << " positioned in " << mother.name() << " at " << r21 << " with no rotation\n" << "DDHCalBarrelAlgo test: " << glog.name() <<" Number " << idOffset+4 << " positioned in " << mother.name() << " at " << r22 << " with " << rot; //Constructin the plastics and scintillators inside constructInsideDetectors(glog, nam0+"2", id, dx, dy, dz, 2, cpv); }
void DDHCalBarrelAlgo::constructInsideSector | ( | DDLogicalPart | sector, |
DDCompactView & | cpv | ||
) | [protected] |
!!!!!!!!!!!!!!!!Should be zero. And removed as soon as
Definition at line 438 of file DDHCalBarrelAlgo.cc.
References alpha, constructInsideLayers(), DDSplit(), alignCSCRings::e, first, getLayerAbsorb(), getLayerAlpha(), getLayerD1(), getLayerD2(), getLayerGap(), getLayerId(), getLayerLabel(), getLayerMaterial(), getLayerT1(), getLayerT2(), getLayerWidth(), getNLayers(), getNsectors(), getRin(), getRmax(), getRzones(), getTanTheta(), getZoff(), i, idName, idNameSpace, recoMuon::in, j, gen::k, LogDebug, mergeVDriftHistosByStation::name, DDBase< N, C >::name(), dbtoconf::out, pi, DDSolidFactory::polyhedra(), DDCompactView::position(), rin, rout, edm::second(), funct::tan(), and tablePrinter::width.
Referenced by constructGeneralVolume().
{ LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: Layers (" << getNLayers() << ") ..."; double alpha = CLHEP::pi/getNsectors(); double rin = getRin(); for (int i = 0; i < getNLayers(); i++) { string name = idName + getLayerLabel(i); DDName matname(DDSplit(getLayerMaterial(i)).first, DDSplit(getLayerMaterial(i)).second); //idNameSpace); DDMaterial matter(matname); double width = getLayerWidth(i); double rout = rin + width; int in = 0, out = 0; for (int j = 0; j < getRzones()-1; j++) { if (rin >= getRmax(j)) in = j+1; if (rout> getRmax(j)) out= j+1; } double zout = getZoff(in) + rin*getTanTheta(in); //vertical walls are allowed in SolidPolyhedra double deltaz = 0; int nsec=2; vector<double> pgonZ, pgonRmin, pgonRmax; // index 0 pgonZ.push_back(0); pgonRmin.push_back(rin); pgonRmax.push_back(rout); // index 1 pgonZ.push_back(zout); pgonRmin.push_back(rin); pgonRmax.push_back(rout); if (in == out) { if (in <= 3) { //index 2 pgonZ.push_back(getZoff(in) + rout*getTanTheta(in)); pgonRmin.push_back(pgonRmax[1]); pgonRmax.push_back(pgonRmax[1]); nsec++; } } else { if (in == 3) { //redo index 1, add index 2 pgonZ[1] =(getZoff(out) + getRmax(out)*getTanTheta(out)); pgonZ.push_back(pgonZ[1] + deltaz); pgonRmin.push_back(pgonRmin[1]); pgonRmax.push_back(getRmax(in)); //index 3 pgonZ.push_back(getZoff(in) + getRmax(in)*getTanTheta(in)); pgonRmin.push_back(pgonRmin[2]); pgonRmax.push_back(pgonRmax[2]); nsec += 2; } else { //index 2 pgonZ.push_back(getZoff(in) + getRmax(in)*getTanTheta(in)); pgonRmin.push_back(getRmax(in)); pgonRmax.push_back(pgonRmax[1]); nsec++; if (in == 0) { pgonZ.push_back(getZoff(out) + getRmax(in)*getTanTheta(out)); pgonRmin.push_back(pgonRmin[2]); pgonRmax.push_back(pgonRmax[2]); nsec++; } if (in <= 1) { pgonZ.push_back(getZoff(out) + rout*getTanTheta(out)); pgonRmin.push_back(rout); pgonRmax.push_back(rout); nsec++; } } } //Solid & volume DDSolid solid; double alpha1 = alpha; if (getLayerGap(i)>1.e-6) { double rmid = 0.5*(rin+rout); double width = rmid*tan(alpha) - getLayerGap(i); alpha1 = atan(width/rmid); LogDebug("HCalGeom") << "\t" << "Alpha_1 modified from " << alpha/CLHEP::deg << " to " << alpha1/CLHEP::deg << " Rmid " << rmid << " Reduced width " << width; } LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << name << " (Layer " << i << ") Polyhedra made of " << getLayerMaterial(i) << " with 1 sector from " << -alpha1/CLHEP::deg << " to " << alpha1/CLHEP::deg << " and with " << nsec << " sections"; for (unsigned int k=0; k<pgonZ.size(); k++) { LogDebug("HCalGeom") << "\t" << "\t" << pgonZ[k] << "\t" << pgonRmin[k] << "\t" << pgonRmax[k]; } solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha1, 2*alpha1, pgonZ, pgonRmin, pgonRmax); DDLogicalPart glog(DDName(name, idNameSpace), matter, solid); cpv.position(glog, sector, getLayerId(i), DDTranslation(0.0, 0.0, 0.0), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() << " number " << getLayerId(i) << " positioned in " << sector.name() << " at (0,0,0) with no rotation"; constructInsideLayers(glog, getLayerLabel(i), getLayerId(i), getLayerAbsorb(i), rin, getLayerD1(i), alpha1, getLayerD2(i), getLayerAlpha(i), getLayerT1(i), getLayerT2(i), cpv); rin = rout; } }
DDLogicalPart DDHCalBarrelAlgo::constructMidLayer | ( | DDLogicalPart | laylog, |
std::string | nm, | ||
double | rin, | ||
double | alpha, | ||
DDCompactView & | cpv | ||
) | [protected] |
Definition at line 738 of file DDHCalBarrelAlgo.cc.
References DDBase< N, C >::ddname(), DDSplit(), first, getAbsorbD(), getAbsorberN(), getAbsorbMat(), getAbsorbName(), getAbsorbT(), getMidAbsMat(), getMidAbsName(), getMidAbsorber(), getMidAbsT(), getMidAbsW(), getMiddleD(), getMiddleMat(), getMiddleW(), getRmax(), getRzones(), getTanTheta(), getZoff(), i, idNameSpace, recoMuon::in, gen::k, funct::log(), LogDebug, mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDSolidFactory::polyhedra(), DDCompactView::position(), rmax, and edm::second().
Referenced by constructInsideLayers().
{ DDSolid solid; DDLogicalPart log, glog; string name = nm + "Mid"; for (int k=0; k < getAbsorberN(); k++) { string namek = name + getAbsorbName(k); double rsi = rin + getAbsorbD(k); int in = 0; for (int i = 0; i < getRzones()-1; i++) { if (rsi >= getRmax(i)) in = i+1; } vector<double> pgonZ, pgonRmin, pgonRmax; // index 0 pgonZ.push_back(0.0); pgonRmin.push_back(rsi); pgonRmax.push_back(rsi+getAbsorbT(k)); // index 1 pgonZ.push_back(getZoff(in) + rsi*getTanTheta(in)); pgonRmin.push_back(rsi); pgonRmax.push_back(pgonRmax[0]); // index 2 pgonZ.push_back(getZoff(in) + pgonRmax[0]*getTanTheta(in)); pgonRmin.push_back(pgonRmax[1]); pgonRmax.push_back(pgonRmax[1]); solid = DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha, 2*alpha, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Polyhedra made of " << getAbsorbMat(k) << " with 1 sector from " << -alpha/CLHEP::deg << " to " << alpha/CLHEP::deg << " and with " << pgonZ.size() << " sections"; for (unsigned int ii=0; ii<pgonZ.size(); ii++) { LogDebug("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii] << "\tRmax = " << pgonRmax[ii]; } DDName matName(DDSplit(getAbsorbMat(k)).first, DDSplit(getAbsorbMat(k)).second); DDMaterial matter(matName); log = DDLogicalPart(solid.ddname(), matter, solid); cpv.position(log, laylog, 1, DDTranslation(), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << log.name() << " Number 1 positioned in " << laylog.name() << " at (0,0,0) with no rotation"; if (k==0) { double rmin = pgonRmin[0]; double rmax = pgonRmax[0]; DDLogicalPart mother = log; for (int i=0; i<1; i++) { double alpha1 = atan(getMidAbsW(i)/rmin); string namek = name + getMidAbsName(i); solid = DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha1, 2*alpha1, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Polyhedra made of " << getMidAbsMat(i) << " with 1 sector from " << -alpha1/CLHEP::deg << " to " << alpha1/CLHEP::deg << " and with " << pgonZ.size() << " sections"; for (unsigned int ii=0; ii<pgonZ.size(); ii++) { LogDebug("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii] << "\tRmax = " << pgonRmax[ii]; } DDName matNam1(DDSplit(getMidAbsMat(i)).first, DDSplit(getMidAbsMat(i)).second); DDMaterial matter1(matNam1); log = DDLogicalPart(solid.ddname(), matter1, solid); cpv.position(log, mother, 1, DDTranslation(), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << log.name() << " Number 1 positioned in " << mother.name() << " at (0,0,0) with no rotation"; mother = log; } // Now the layer with detectors double rmid = rmin + getMiddleD(); pgonRmin[0] = rmid; pgonRmax[0] = rmax; pgonRmin[1] = rmid; pgonRmax[1] = rmax; pgonZ[1] = getZoff(in) + rmid*getTanTheta(in); pgonRmin[2] = rmax; pgonRmax[2] = rmax; pgonZ[2] = getZoff(in) + rmax*getTanTheta(in); double alpha1 = atan(getMiddleW()/rmin); solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha1, 2*alpha1, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Polyhedra made of " << getMiddleMat() << " with 1 sector from " << -alpha1/CLHEP::deg << " to " << alpha1/CLHEP::deg << " and with " << pgonZ.size() << " sections"; for (unsigned int ii=0; ii<pgonZ.size(); ii++) { LogDebug("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii] << "\tRmax = " << pgonRmax[ii]; } DDName matNam1(DDSplit(getMiddleMat()).first, DDSplit(getMiddleMat()).second); DDMaterial matter1(matNam1); glog = DDLogicalPart(solid.ddname(), matter1, solid); cpv.position(glog, mother, 1, DDTranslation(), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() << " Number 1 positioned in " << mother.name() << " at (0,0,0) with no rotation"; // Now the remaining absorber layers for (int i = 1; i < getMidAbsorber(); i++) { namek = name + getMidAbsName(i); rmid = rmin + getMidAbsT(i); pgonRmin[0] = rmin; pgonRmax[0] = rmid; pgonRmin[1] = rmin; pgonRmax[1] = rmid; pgonZ[1] = getZoff(in) + rmin*getTanTheta(in); pgonRmin[2] = rmid; pgonRmax[2] = rmid; pgonZ[2] = getZoff(in) + rmid*getTanTheta(in); alpha1 = atan(getMidAbsW(i)/rmin); solid = DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha1, 2*alpha1, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Polyhedra made of " << getMidAbsMat(i) << " with 1 sector from " << -alpha1/CLHEP::deg << " to " << alpha1/CLHEP::deg << " and with " << pgonZ.size() << " sections"; for (unsigned int ii=0; ii<pgonZ.size(); ii++) { LogDebug("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii] << "\tRmax = " << pgonRmax[ii]; } DDName matName2(DDSplit(getMidAbsMat(i)).first, DDSplit(getMidAbsMat(i)).second); DDMaterial matter2(matName2); log = DDLogicalPart(solid.ddname(), matter2, solid); cpv.position(log, mother, i, DDTranslation(), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << log.name() << " Number " << i << " positioned in " << mother.name() << " at (0,0,0) with no " << "rotation"; mother = log; } } } return glog; }
DDLogicalPart DDHCalBarrelAlgo::constructSideLayer | ( | DDLogicalPart | laylog, |
std::string | nm, | ||
int | nAbs, | ||
double | rin, | ||
double | alpha, | ||
DDCompactView & | cpv | ||
) | [protected] |
Definition at line 654 of file DDHCalBarrelAlgo.cc.
References abs, DDBase< N, C >::ddname(), DDSplit(), first, getRmax(), getRzones(), getSideAbsMat(), getSideAbsName(), getSideAbsorber(), getSideAbsW(), getSideD(), getSideMat(), getSideT(), getTanTheta(), getZoff(), i, idNameSpace, recoMuon::in, gen::k, funct::log(), LogDebug, mergeVDriftHistosByStation::name, DDBase< N, C >::name(), DDSolidFactory::polyhedra(), DDCompactView::position(), and edm::second().
Referenced by constructInsideLayers().
{ //Extra absorber layer int k = abs(nAbs) - 1; string namek = nm + "Side"; double rsi = rin + getSideD(k); int in = 0; for (int i = 0; i < getRzones()-1; i++) { if (rsi >= getRmax(i)) in = i+1; } vector<double> pgonZ, pgonRmin, pgonRmax; // index 0 pgonZ.push_back(0.0); pgonRmin.push_back(rsi); pgonRmax.push_back(rsi+getSideT(k)); // index 1 pgonZ.push_back(getZoff(in) + rsi*getTanTheta(in)); pgonRmin.push_back(rsi); pgonRmax.push_back(pgonRmax[0]); // index 2 pgonZ.push_back(getZoff(in) + pgonRmax[0]*getTanTheta(in)); pgonRmin.push_back(pgonRmax[1]); pgonRmax.push_back(pgonRmax[1]); DDSolid solid = DDSolidFactory::polyhedra(DDName(namek, idNameSpace), 1, -alpha, 2*alpha, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Polyhedra made of " << getSideMat(k) << " with 1 sector from " << -alpha/CLHEP::deg << " to " << alpha/CLHEP::deg << " and with " << pgonZ.size() << " sections"; for (unsigned int ii=0; ii<pgonZ.size(); ii++) { LogDebug("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii] << "\tRmax = " << pgonRmax[ii]; } DDName matName(DDSplit(getSideMat(k)).first, DDSplit(getSideMat(k)).second); DDMaterial matter(matName); DDLogicalPart glog = DDLogicalPart(solid.ddname(), matter, solid); cpv.position(glog, laylog, 1, DDTranslation(), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << glog.name() << " Number 1 positioned in " << laylog.name() << " at (0,0,0) with no rotation"; if (nAbs < 0) { DDLogicalPart mother = glog; double rmid = pgonRmax[0]; for (int i = 0; i < getSideAbsorber(); i++) { double alpha1 = atan(getSideAbsW(i)/rmid); if (alpha1 > 0) { string name = namek + getSideAbsName(i); solid = DDSolidFactory::polyhedra(DDName(name, idNameSpace), 1, -alpha1, 2*alpha1, pgonZ, pgonRmin, pgonRmax); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << solid.name() << " Polyhedra made of " << getSideAbsMat(i) << " with 1 sector from " << -alpha1/CLHEP::deg << " to " << alpha1/CLHEP::deg << " and with " << pgonZ.size() << " sections"; for (unsigned int ii=0; ii<pgonZ.size(); ii++) { LogDebug("HCalGeom") << "\t\tZ = " << pgonZ[ii] << "\tRmin = " << pgonRmin[ii] << "\tRmax = " << pgonRmax[ii]; } DDName matName(DDSplit(getSideAbsMat(i)).first, DDSplit(getSideAbsMat(i)).second); DDMaterial matter(matName); DDLogicalPart log = DDLogicalPart(solid.ddname(), matter, solid); cpv.position(log, mother, 1, DDTranslation(), DDRotation()); LogDebug("HCalGeom") << "DDHCalBarrelAlgo test: " << log.name() << " Number 1 positioned in " << mother.name() << " at (0,0,0) with no rotation"; mother = log; } } } return glog; }
void DDHCalBarrelAlgo::execute | ( | DDCompactView & | cpv | ) |
Definition at line 189 of file DDHCalBarrelAlgo.cc.
References constructGeneralVolume(), and LogDebug.
{ LogDebug("HCalGeom") << "==>> Constructing DDHCalBarrelAlgo..."; constructGeneralVolume(cpv); LogDebug("HCalGeom") << "<<== End of DDHCalBarrelAlgo construction ..."; }
double DDHCalBarrelAlgo::getAbsorbD | ( | unsigned int | i | ) | const [inline] |
Definition at line 53 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
int DDHCalBarrelAlgo::getAbsorberN | ( | ) | const [inline] |
Definition at line 50 of file DDHCalBarrelAlgo.h.
References nAbsorber.
Referenced by constructMidLayer().
{return nAbsorber;}
std::string DDHCalBarrelAlgo::getAbsorbMat | ( | unsigned int | i | ) | const [inline] |
Definition at line 52 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
std::string DDHCalBarrelAlgo::getAbsorbName | ( | unsigned int | i | ) | const [inline] |
Definition at line 51 of file DDHCalBarrelAlgo.h.
References absorbName, and i.
Referenced by constructMidLayer().
{return absorbName[i];}
double DDHCalBarrelAlgo::getAbsorbT | ( | unsigned int | i | ) | const [inline] |
Definition at line 54 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
double DDHCalBarrelAlgo::getDetdP1 | ( | unsigned int | i | ) | const [inline] |
Definition at line 68 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetdP2 | ( | unsigned int | i | ) | const [inline] |
Definition at line 69 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
std::string DDHCalBarrelAlgo::getDetMat | ( | ) | const [inline] |
Definition at line 64 of file DDHCalBarrelAlgo.h.
References detMat.
Referenced by constructInsideLayers().
{return detMat;}
std::string DDHCalBarrelAlgo::getDetMatPl | ( | ) | const [inline] |
Definition at line 65 of file DDHCalBarrelAlgo.h.
References detMatPl.
Referenced by constructInsideDetectors().
{return detMatPl;}
std::string DDHCalBarrelAlgo::getDetMatSc | ( | ) | const [inline] |
Definition at line 66 of file DDHCalBarrelAlgo.h.
References detMatSc.
Referenced by constructInsideDetectors().
{return detMatSc;}
int DDHCalBarrelAlgo::getDetPosY | ( | unsigned int | i | ) | const [inline] |
Definition at line 77 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetT11 | ( | unsigned int | i | ) | const [inline] |
Definition at line 70 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetT12 | ( | unsigned int | i | ) | const [inline] |
Definition at line 71 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetT21 | ( | unsigned int | i | ) | const [inline] |
Definition at line 73 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetT22 | ( | unsigned int | i | ) | const [inline] |
Definition at line 74 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetTsc | ( | unsigned int | i | ) | const [inline] |
Definition at line 72 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
int DDHCalBarrelAlgo::getDetType | ( | unsigned int | i | ) | const [inline] |
Definition at line 67 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetWidth1 | ( | unsigned int | i | ) | const [inline] |
Definition at line 75 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
double DDHCalBarrelAlgo::getDetWidth2 | ( | unsigned int | i | ) | const [inline] |
Definition at line 76 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideDetectors().
std::string DDHCalBarrelAlgo::getGenMaterial | ( | ) | const [inline] |
Definition at line 17 of file DDHCalBarrelAlgo.h.
References genMaterial.
Referenced by constructGeneralVolume().
{return genMaterial;}
int DDHCalBarrelAlgo::getLayerAbsorb | ( | unsigned int | i | ) | const [inline] |
Definition at line 39 of file DDHCalBarrelAlgo.h.
References i, and layerAbsorb.
Referenced by constructInsideSector().
{return layerAbsorb[i];}
double DDHCalBarrelAlgo::getLayerAlpha | ( | unsigned | i | ) | const [inline] |
Definition at line 36 of file DDHCalBarrelAlgo.h.
References i, and layerAlpha.
Referenced by constructInsideSector().
{return layerAlpha[i];}
double DDHCalBarrelAlgo::getLayerD1 | ( | unsigned | i | ) | const [inline] |
Definition at line 34 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
double DDHCalBarrelAlgo::getLayerD2 | ( | unsigned | i | ) | const [inline] |
Definition at line 35 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
double DDHCalBarrelAlgo::getLayerGap | ( | unsigned int | i | ) | const [inline] |
Definition at line 40 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
int DDHCalBarrelAlgo::getLayerId | ( | unsigned | i | ) | const [inline] |
Definition at line 30 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
std::string DDHCalBarrelAlgo::getLayerLabel | ( | unsigned | i | ) | const [inline] |
Definition at line 31 of file DDHCalBarrelAlgo.h.
References i, and layerLabel.
Referenced by constructInsideSector().
{return layerLabel[i];}
std::string DDHCalBarrelAlgo::getLayerMaterial | ( | unsigned | i | ) | const [inline] |
Definition at line 32 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
double DDHCalBarrelAlgo::getLayerT1 | ( | unsigned | i | ) | const [inline] |
Definition at line 37 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
double DDHCalBarrelAlgo::getLayerT2 | ( | unsigned | i | ) | const [inline] |
Definition at line 38 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideSector().
double DDHCalBarrelAlgo::getLayerWidth | ( | unsigned | i | ) | const [inline] |
Definition at line 33 of file DDHCalBarrelAlgo.h.
References i, and layerWidth.
Referenced by constructInsideSector().
{return layerWidth[i];}
std::string DDHCalBarrelAlgo::getMidAbsMat | ( | unsigned int | i | ) | const [inline] |
Definition at line 60 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
std::string DDHCalBarrelAlgo::getMidAbsName | ( | unsigned int | i | ) | const [inline] |
Definition at line 59 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
int DDHCalBarrelAlgo::getMidAbsorber | ( | ) | const [inline] |
Definition at line 58 of file DDHCalBarrelAlgo.h.
References nMidAbs.
Referenced by constructMidLayer().
{return nMidAbs;}
double DDHCalBarrelAlgo::getMidAbsT | ( | unsigned int | i | ) | const [inline] |
Definition at line 62 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
double DDHCalBarrelAlgo::getMidAbsW | ( | unsigned int | i | ) | const [inline] |
Definition at line 61 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer().
double DDHCalBarrelAlgo::getMiddleD | ( | ) | const [inline] |
Definition at line 56 of file DDHCalBarrelAlgo.h.
References middleD.
Referenced by constructMidLayer().
{return middleD;}
std::string DDHCalBarrelAlgo::getMiddleMat | ( | ) | const [inline] |
Definition at line 55 of file DDHCalBarrelAlgo.h.
References middleMat.
Referenced by constructMidLayer().
{return middleMat;}
double DDHCalBarrelAlgo::getMiddleW | ( | ) | const [inline] |
Definition at line 57 of file DDHCalBarrelAlgo.h.
References middleW.
Referenced by constructMidLayer().
{return middleW;}
int DDHCalBarrelAlgo::getNhalf | ( | ) | const [inline] |
Definition at line 20 of file DDHCalBarrelAlgo.h.
References nhalf.
Referenced by constructGeneralVolume().
{return nhalf;}
int DDHCalBarrelAlgo::getNLayers | ( | ) | const [inline] |
Definition at line 29 of file DDHCalBarrelAlgo.h.
References nLayers.
Referenced by constructInsideSector().
{return nLayers;}
int DDHCalBarrelAlgo::getNsectors | ( | ) | const [inline] |
Definition at line 18 of file DDHCalBarrelAlgo.h.
References nsectors.
Referenced by constructGeneralVolume(), and constructInsideSector().
{return nsectors;}
int DDHCalBarrelAlgo::getNsectortot | ( | ) | const [inline] |
Definition at line 19 of file DDHCalBarrelAlgo.h.
References nsectortot.
Referenced by constructGeneralVolume().
{return nsectortot;}
double DDHCalBarrelAlgo::getRin | ( | ) | const [inline] |
Definition at line 21 of file DDHCalBarrelAlgo.h.
References rin.
Referenced by constructGeneralVolume(), and constructInsideSector().
{return rin;}
double DDHCalBarrelAlgo::getRmax | ( | unsigned int | i | ) | const [inline] |
Definition at line 26 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideLayers(), constructInsideSector(), constructMidLayer(), and constructSideLayer().
double DDHCalBarrelAlgo::getRout | ( | ) | const [inline] |
Definition at line 22 of file DDHCalBarrelAlgo.h.
References rout.
Referenced by constructGeneralVolume().
{return rout;}
int DDHCalBarrelAlgo::getRzones | ( | ) | const [inline] |
Definition at line 23 of file DDHCalBarrelAlgo.h.
References rzones.
Referenced by constructInsideLayers(), constructInsideSector(), constructMidLayer(), and constructSideLayer().
{return rzones;}
std::string DDHCalBarrelAlgo::getSideAbsMat | ( | unsigned int | i | ) | const [inline] |
Definition at line 47 of file DDHCalBarrelAlgo.h.
References i, and sideAbsMat.
Referenced by constructSideLayer().
{return sideAbsMat[i];}
std::string DDHCalBarrelAlgo::getSideAbsName | ( | unsigned int | i | ) | const [inline] |
Definition at line 46 of file DDHCalBarrelAlgo.h.
References i, and sideAbsName.
Referenced by constructSideLayer().
{return sideAbsName[i];}
int DDHCalBarrelAlgo::getSideAbsorber | ( | ) | const [inline] |
Definition at line 45 of file DDHCalBarrelAlgo.h.
References nSideAbs.
Referenced by constructSideLayer().
{return nSideAbs;}
double DDHCalBarrelAlgo::getSideAbsW | ( | unsigned int | i | ) | const [inline] |
Definition at line 48 of file DDHCalBarrelAlgo.h.
Referenced by constructSideLayer().
double DDHCalBarrelAlgo::getSideD | ( | unsigned int | i | ) | const [inline] |
Definition at line 43 of file DDHCalBarrelAlgo.h.
Referenced by constructSideLayer().
std::string DDHCalBarrelAlgo::getSideMat | ( | unsigned int | i | ) | const [inline] |
Definition at line 42 of file DDHCalBarrelAlgo.h.
Referenced by constructSideLayer().
double DDHCalBarrelAlgo::getSideT | ( | unsigned int | i | ) | const [inline] |
Definition at line 44 of file DDHCalBarrelAlgo.h.
Referenced by constructSideLayer().
double DDHCalBarrelAlgo::getTanTheta | ( | unsigned int | i | ) | const [inline] |
Definition at line 24 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideLayers(), constructInsideSector(), constructMidLayer(), and constructSideLayer().
double DDHCalBarrelAlgo::getTheta | ( | unsigned int | i | ) | const [inline] |
double DDHCalBarrelAlgo::getZoff | ( | unsigned int | i | ) | const [inline] |
Definition at line 27 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideLayers(), constructInsideSector(), constructMidLayer(), and constructSideLayer().
void DDHCalBarrelAlgo::initialize | ( | const DDNumericArguments & | nArgs, |
const DDVectorArguments & | vArgs, | ||
const DDMapArguments & | mArgs, | ||
const DDStringArguments & | sArgs, | ||
const DDStringVectorArguments & | vsArgs | ||
) |
Definition at line 36 of file DDHCalBarrelAlgo.cc.
References absorbD, absorbMat, absorbName, absorbT, dbl_to_int(), detdP1, detdP2, detMat, detMatPl, detMatSc, detPosY, detRot, detT11, detT12, detT21, detT22, detTsc, detType, detWidth1, detWidth2, genMaterial, i, idName, idNameSpace, idOffset, layerAbsorb, layerAlpha, layerD1, layerD2, layerGap, layerId, layerLabel, layerMat, layerT1, layerT2, layerWidth, LogDebug, middleD, middleMat, middleW, midMat, midName, midT, midW, nAbsorber, nhalf, nLayers, nMidAbs, DDCurrentNamespace::ns(), nsectors, nsectortot, nSideAbs, dbtoconf::parent, rin, rmax, rotHalf, rotns, rout, rzones, sideAbsMat, sideAbsName, sideAbsW, sideD, sideMat, sideT, funct::tan(), theta, ttheta, and zoff.
{ genMaterial = sArgs["MaterialName"]; nsectors = int (nArgs["NSector"]); nsectortot = int (nArgs["NSectorTot"]); nhalf = int (nArgs["NHalf"]); rin = nArgs["RIn"]; rout = nArgs["ROut"]; rzones = int (nArgs["RZones"]); rotHalf = sArgs["RotHalf"]; rotns = sArgs["RotNameSpace"]; theta = vArgs["Theta"]; rmax = vArgs["RMax"]; zoff = vArgs["ZOff"]; int i = 0; for (i = 0; i < rzones; i++) { ttheta.push_back(tan(theta[i])); //*deg already done in XML } if (rzones > 3) rmax[2] = (zoff[3] - zoff[2]) / ttheta[2]; LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: General material " << genMaterial << "\tSectors " << nsectors << ", " << nsectortot <<"\tHalves " << nhalf << "\tRotation matrix " << rotns << ":" << rotHalf << "\n\t\t" << rin << "\t" << rout << "\t" << rzones; for (i = 0; i < rzones; i++) { LogDebug("HCalGeom") << "\tTheta[" << i << "] = " << theta[i] << "\trmax[" << i << "] = " << rmax[i] << "\tzoff[" << i << "] = " << zoff[i]; } //Layers nLayers = int(nArgs["NLayers"]); LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: Layer\t" << nLayers; layerId = dbl_to_int (vArgs["Id"]); layerLabel = vsArgs["LayerLabel"]; layerMat = vsArgs["LayerMat"]; layerWidth = vArgs["LayerWidth"]; layerD1 = vArgs["D1"]; layerD2 = vArgs["D2"]; layerAlpha = vArgs["Alpha2"]; layerT1 = vArgs["T1"]; layerT2 = vArgs["T2"]; layerAbsorb = dbl_to_int(vArgs["AbsL"]); layerGap = vArgs["Gap"]; for (i = 0; i < nLayers; i++) { LogDebug("HCalGeom") << layerLabel[i] << "\t" << layerId[i] << "\t" << layerMat[i] << "\t" << layerWidth[i] << "\t" << layerD1[i] << "\t" << layerD2[i] << "\t" << layerAlpha[i] << "\t" << layerT1[i] << "\t" << layerT2[i] << "\t" << layerAbsorb[i] << "\t" << layerGap[i]; } //Absorber Layers and middle part absorbName = vsArgs["AbsorbName"]; absorbMat = vsArgs["AbsorbMat"]; absorbD = vArgs["AbsorbD"]; absorbT = vArgs["AbsorbT"]; nAbsorber = absorbName.size(); for (i = 0; i < nAbsorber; i++) { LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: " << absorbName[i] <<" Material " << absorbMat[i] << " d " << absorbD[i] << " t " <<absorbT[i]; } middleMat = sArgs["MiddleMat"]; middleD = nArgs["MiddleD"]; middleW = nArgs["MiddleW"]; LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: Middle material " << middleMat << " d " << middleD << " w " << middleW; midName = vsArgs["MidAbsName"]; midMat = vsArgs["MidAbsMat"]; midW = vArgs["MidAbsW"]; midT = vArgs["MidAbsT"]; nMidAbs = midName.size(); for (i = 0; i < nMidAbs; i++) { LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: " << midName[i] << " Material " << midMat[i] << " W " << midW[i] << " T " << midT[i]; } //Absorber layers in the side part sideMat = vsArgs["SideMat"]; sideD = vArgs["SideD"]; sideT = vArgs["SideT"]; int nSide = sideMat.size(); for (int i = 0; i < nSide; i++) { LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: Side material " << sideMat[i] << " d " << sideD[i] << " t " << sideT[i]; } sideAbsName = vsArgs["SideAbsName"]; sideAbsMat = vsArgs["SideAbsMat"]; sideAbsW = vArgs["SideAbsW"]; nSideAbs = sideAbsName.size(); for (i = 0; i < nSideAbs; i++) { LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: " << sideAbsName[i] <<" Material " << sideAbsMat[i] << " W " << sideAbsW[i]; } // Detectors detMat = sArgs["DetMat"]; detRot = sArgs["DetRot"]; detMatPl = sArgs["DetMatPl"]; detMatSc = sArgs["DetMatSc"]; LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: Detector (" << nLayers << ") Rotation matrix " << rotns << ":" << detRot << "\n\t\t" << detMat << "\t" << detMatPl << "\t" << detMatSc; detType = dbl_to_int(vArgs["DetType"]); detdP1 = vArgs["DetdP1"]; detdP2 = vArgs["DetdP2"]; detT11 = vArgs["DetT11"]; detT12 = vArgs["DetT12"]; detTsc = vArgs["DetTsc"]; detT21 = vArgs["DetT21"]; detT22 = vArgs["DetT22"]; detWidth1 = vArgs["DetWidth1"]; detWidth2 = vArgs["DetWidth2"]; detPosY = dbl_to_int(vArgs["DetPosY"]); for (i = 0; i < nLayers; i ++) { LogDebug("HCalGeom") << i+1 << "\t" << detType[i] << "\t" << detdP1[i] << ", " << detdP2[i] << "\t" << detT11[i] << ", " << detT12[i] << "\t" << detTsc[i] << "\t" << detT21[i] <<", " << detT22[i] << "\t" << detWidth1[i] << "\t" << detWidth2[i] << "\t" << detPosY[i]; } // idName = parentName.name(); idName = sArgs["MotherName"]; idNameSpace = DDCurrentNamespace::ns(); idOffset = int (nArgs["IdOffset"]); DDName parentName = parent().name(); LogDebug("HCalGeom") << "DDHCalBarrelAlgo debug: Parent " << parentName <<" idName " << idName << " NameSpace " << idNameSpace << " Offset " << idOffset; }
std::vector<double> DDHCalBarrelAlgo::absorbD [private] |
Definition at line 169 of file DDHCalBarrelAlgo.h.
Referenced by getAbsorbD(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::absorbMat [private] |
Definition at line 168 of file DDHCalBarrelAlgo.h.
Referenced by getAbsorbMat(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::absorbName [private] |
Definition at line 167 of file DDHCalBarrelAlgo.h.
Referenced by getAbsorbName(), and initialize().
std::vector<double> DDHCalBarrelAlgo::absorbT [private] |
Definition at line 170 of file DDHCalBarrelAlgo.h.
Referenced by getAbsorbT(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detdP1 [private] |
Definition at line 205 of file DDHCalBarrelAlgo.h.
Referenced by getDetdP1(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detdP2 [private] |
Definition at line 206 of file DDHCalBarrelAlgo.h.
Referenced by getDetdP2(), and initialize().
std::string DDHCalBarrelAlgo::detMat [private] |
Definition at line 200 of file DDHCalBarrelAlgo.h.
Referenced by getDetMat(), and initialize().
std::string DDHCalBarrelAlgo::detMatPl [private] |
Definition at line 202 of file DDHCalBarrelAlgo.h.
Referenced by getDetMatPl(), and initialize().
std::string DDHCalBarrelAlgo::detMatSc [private] |
Definition at line 203 of file DDHCalBarrelAlgo.h.
Referenced by getDetMatSc(), and initialize().
std::vector<int> DDHCalBarrelAlgo::detPosY [private] |
Definition at line 214 of file DDHCalBarrelAlgo.h.
Referenced by getDetPosY(), and initialize().
std::string DDHCalBarrelAlgo::detRot [private] |
Definition at line 201 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideLayers(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detT11 [private] |
Definition at line 207 of file DDHCalBarrelAlgo.h.
Referenced by getDetT11(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detT12 [private] |
Definition at line 208 of file DDHCalBarrelAlgo.h.
Referenced by getDetT12(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detT21 [private] |
Definition at line 210 of file DDHCalBarrelAlgo.h.
Referenced by getDetT21(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detT22 [private] |
Definition at line 211 of file DDHCalBarrelAlgo.h.
Referenced by getDetT22(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detTsc [private] |
Definition at line 209 of file DDHCalBarrelAlgo.h.
Referenced by getDetTsc(), and initialize().
std::vector<int> DDHCalBarrelAlgo::detType [private] |
Definition at line 204 of file DDHCalBarrelAlgo.h.
Referenced by getDetType(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detWidth1 [private] |
Definition at line 212 of file DDHCalBarrelAlgo.h.
Referenced by getDetWidth1(), and initialize().
std::vector<double> DDHCalBarrelAlgo::detWidth2 [private] |
Definition at line 213 of file DDHCalBarrelAlgo.h.
Referenced by getDetWidth2(), and initialize().
std::string DDHCalBarrelAlgo::genMaterial [private] |
Definition at line 114 of file DDHCalBarrelAlgo.h.
Referenced by getGenMaterial(), and initialize().
std::string DDHCalBarrelAlgo::idName [private] |
Definition at line 216 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideDetectors(), constructInsideLayers(), constructInsideSector(), and initialize().
std::string DDHCalBarrelAlgo::idNameSpace [private] |
Definition at line 217 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideDetectors(), constructInsideLayers(), constructInsideSector(), constructMidLayer(), constructSideLayer(), and initialize().
int DDHCalBarrelAlgo::idOffset [private] |
Definition at line 218 of file DDHCalBarrelAlgo.h.
Referenced by constructInsideLayers(), and initialize().
std::vector<int> DDHCalBarrelAlgo::layerAbsorb [private] |
Definition at line 163 of file DDHCalBarrelAlgo.h.
Referenced by getLayerAbsorb(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerAlpha [private] |
Definition at line 160 of file DDHCalBarrelAlgo.h.
Referenced by getLayerAlpha(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerD1 [private] |
Definition at line 158 of file DDHCalBarrelAlgo.h.
Referenced by getLayerD1(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerD2 [private] |
Definition at line 159 of file DDHCalBarrelAlgo.h.
Referenced by getLayerD2(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerGap [private] |
Definition at line 164 of file DDHCalBarrelAlgo.h.
Referenced by getLayerGap(), and initialize().
std::vector<int> DDHCalBarrelAlgo::layerId [private] |
Definition at line 154 of file DDHCalBarrelAlgo.h.
Referenced by getLayerId(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::layerLabel [private] |
Definition at line 155 of file DDHCalBarrelAlgo.h.
Referenced by getLayerLabel(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::layerMat [private] |
Definition at line 156 of file DDHCalBarrelAlgo.h.
Referenced by getLayerMaterial(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerT1 [private] |
Definition at line 161 of file DDHCalBarrelAlgo.h.
Referenced by getLayerT1(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerT2 [private] |
Definition at line 162 of file DDHCalBarrelAlgo.h.
Referenced by getLayerT2(), and initialize().
std::vector<double> DDHCalBarrelAlgo::layerWidth [private] |
Definition at line 157 of file DDHCalBarrelAlgo.h.
Referenced by getLayerWidth(), and initialize().
double DDHCalBarrelAlgo::middleD [private] |
Definition at line 172 of file DDHCalBarrelAlgo.h.
Referenced by getMiddleD(), and initialize().
std::string DDHCalBarrelAlgo::middleMat [private] |
Definition at line 171 of file DDHCalBarrelAlgo.h.
Referenced by getMiddleMat(), and initialize().
double DDHCalBarrelAlgo::middleW [private] |
Definition at line 173 of file DDHCalBarrelAlgo.h.
Referenced by getMiddleW(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::midMat [private] |
Definition at line 176 of file DDHCalBarrelAlgo.h.
Referenced by getMidAbsMat(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::midName [private] |
Definition at line 175 of file DDHCalBarrelAlgo.h.
Referenced by getMidAbsName(), and initialize().
std::vector<double> DDHCalBarrelAlgo::midT [private] |
Definition at line 178 of file DDHCalBarrelAlgo.h.
Referenced by getMidAbsT(), and initialize().
std::vector<double> DDHCalBarrelAlgo::midW [private] |
Definition at line 177 of file DDHCalBarrelAlgo.h.
Referenced by getMidAbsW(), and initialize().
int DDHCalBarrelAlgo::nAbsorber [private] |
Definition at line 166 of file DDHCalBarrelAlgo.h.
Referenced by getAbsorberN(), and initialize().
int DDHCalBarrelAlgo::nhalf [private] |
Definition at line 117 of file DDHCalBarrelAlgo.h.
Referenced by getNhalf(), and initialize().
int DDHCalBarrelAlgo::nLayers [private] |
Definition at line 153 of file DDHCalBarrelAlgo.h.
Referenced by getNLayers(), and initialize().
int DDHCalBarrelAlgo::nMidAbs [private] |
Definition at line 174 of file DDHCalBarrelAlgo.h.
Referenced by getMidAbsorber(), and initialize().
int DDHCalBarrelAlgo::nsectors [private] |
Definition at line 115 of file DDHCalBarrelAlgo.h.
Referenced by getNsectors(), and initialize().
int DDHCalBarrelAlgo::nsectortot [private] |
Definition at line 116 of file DDHCalBarrelAlgo.h.
Referenced by getNsectortot(), and initialize().
int DDHCalBarrelAlgo::nSideAbs [private] |
Definition at line 183 of file DDHCalBarrelAlgo.h.
Referenced by getSideAbsorber(), and initialize().
double DDHCalBarrelAlgo::rin [private] |
Definition at line 118 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideSector(), getRin(), and initialize().
std::vector<double> DDHCalBarrelAlgo::rmax [private] |
Definition at line 121 of file DDHCalBarrelAlgo.h.
Referenced by constructMidLayer(), getRmax(), and initialize().
std::string DDHCalBarrelAlgo::rotHalf [private] |
Definition at line 124 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), and initialize().
std::string DDHCalBarrelAlgo::rotns [private] |
Definition at line 125 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideLayers(), and initialize().
double DDHCalBarrelAlgo::rout [private] |
Definition at line 118 of file DDHCalBarrelAlgo.h.
Referenced by constructGeneralVolume(), constructInsideSector(), getRout(), and initialize().
int DDHCalBarrelAlgo::rzones [private] |
Definition at line 119 of file DDHCalBarrelAlgo.h.
Referenced by getRzones(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::sideAbsMat [private] |
Definition at line 185 of file DDHCalBarrelAlgo.h.
Referenced by getSideAbsMat(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::sideAbsName [private] |
Definition at line 184 of file DDHCalBarrelAlgo.h.
Referenced by getSideAbsName(), and initialize().
std::vector<double> DDHCalBarrelAlgo::sideAbsW [private] |
Definition at line 186 of file DDHCalBarrelAlgo.h.
Referenced by getSideAbsW(), and initialize().
std::vector<double> DDHCalBarrelAlgo::sideD [private] |
Definition at line 181 of file DDHCalBarrelAlgo.h.
Referenced by getSideD(), and initialize().
std::vector<std::string> DDHCalBarrelAlgo::sideMat [private] |
Definition at line 180 of file DDHCalBarrelAlgo.h.
Referenced by getSideMat(), and initialize().
std::vector<double> DDHCalBarrelAlgo::sideT [private] |
Definition at line 182 of file DDHCalBarrelAlgo.h.
Referenced by getSideT(), and initialize().
std::vector<double> DDHCalBarrelAlgo::theta [private] |
Definition at line 120 of file DDHCalBarrelAlgo.h.
Referenced by getTheta(), and initialize().
std::vector<double> DDHCalBarrelAlgo::ttheta [private] |
Definition at line 123 of file DDHCalBarrelAlgo.h.
Referenced by getTanTheta(), and initialize().
std::vector<double> DDHCalBarrelAlgo::zoff [private] |
Definition at line 122 of file DDHCalBarrelAlgo.h.
Referenced by getZoff(), and initialize().