#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, DDBase< N, C >::name(), mergeVDriftHistosByStation::name, dbtoconf::parent, phi, pi, DDSolidFactory::polyhedra(), DDCompactView::position(), rin, 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(), debug_cff::d1, DDBase< N, C >::ddname(), DDSplit(), detRot, first, getDetMat(), getRmax(), getRzones(), getTanTheta(), getZoff(), i, idName, idNameSpace, idOffset, recoMuon::in, LogDebug, DDBase< N, C >::name(), mergeVDriftHistosByStation::name, DDCompactView::position(), 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(), 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, DDBase< N, C >::name(), mergeVDriftHistosByStation::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, DDBase< N, C >::name(), mergeVDriftHistosByStation::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, DDBase< N, C >::name(), mergeVDriftHistosByStation::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().