Definition at line 54 of file DDTrackerRingAlgo.cc.
◆ DDTrackerRingAlgo()
DDTrackerRingAlgo::DDTrackerRingAlgo |
( |
| ) |
|
◆ ~DDTrackerRingAlgo()
DDTrackerRingAlgo::~DDTrackerRingAlgo |
( |
| ) |
|
|
override |
◆ execute()
Definition at line 128 of file DDTrackerRingAlgo.cc.
129 DDRotation flipRot, tiltRot, phiRot, globalRot;
131 string rotstr =
"RTrackerRingAlgo";
135 string flipRotstr = rotstr +
"Flip";
138 LogDebug(
"TrackerGeom") <<
"DDTrackerRingAlgo test: Creating a new rotation: " << flipRotstr <<
"\t90., 180., "
149 flipMatrix = flipRot.
matrix();
153 string tiltRotstr = rotstr +
"Tilt" + to_string(
tiltAngle / CLHEP::deg) +
"ZPlus";
156 LogDebug(
"TrackerGeom") <<
"DDTrackerRingAlgo test: Creating a new rotation: " << tiltRotstr <<
"\t90., 90., "
166 tiltMatrix = tiltRot.
matrix();
168 tiltMatrix *= flipMatrix;
171 string tiltRotstr = rotstr +
"Tilt" + to_string(
tiltAngle / CLHEP::deg) +
"ZMinus";
174 LogDebug(
"TrackerGeom") <<
"DDTrackerRingAlgo test: Creating a new rotation: " << tiltRotstr <<
"\t90., 90., "
184 tiltMatrix = tiltRot.
matrix();
186 tiltMatrix *= flipMatrix;
193 double theta = 90. * CLHEP::deg;
197 for (
int i = 0;
i <
n;
i++) {
200 double phiy = phix + 90. * CLHEP::deg;
201 double phideg = phix / CLHEP::deg;
203 string phiRotstr = rotstr +
"Phi" + to_string(phideg * 10.);
206 LogDebug(
"TrackerGeom") <<
"DDTrackerRingAlgo test: Creating a new rotation: " << phiRotstr <<
"\t90., "
207 << phix / CLHEP::deg <<
", 90.," << phiy / CLHEP::deg <<
", 0., 0.";
210 phiRotMatrix = phiRot.
matrix();
214 string globalRotstr = rotstr +
"Phi" + to_string(phideg * 10.) +
"Tilt" + to_string(
tiltAngle / CLHEP::deg);
216 globalRotstr +=
"ZPlus";
218 globalRotstr +=
"Flip";
221 globalRotstr +=
"ZMinus";
223 globalRotstr +=
"Flip";
228 LogDebug(
"TrackerGeom") <<
"DDTrackerRingAlgo test: Creating a new "
229 <<
"rotation: " << globalRotstr;
230 globalRotMatrix = phiRotMatrix * tiltMatrix;
242 LogDebug(
"TrackerGeom") <<
"DDTrackerRingAlgo test " <<
child <<
" number " <<
copy <<
" positioned in " << mother
243 <<
" at " << tran <<
" with " << globalRot;
References class-composition::child, filterCSVwithJSON::copy, funct::cos(), DDrot(), DDSplit(), dumpMFGeometry_cfg::delta, dqmdumpme::first, mps_fire::i, LogDebug, DDRotation::matrix(), dqmiodumpmetadata::n, class-composition::parent, DDCompactView::position(), CosmicsPD_Skims::radius, edm::second(), funct::sin(), and theta().
◆ initialize()
◆ center
vector<double> DDTrackerRingAlgo::center |
|
private |
◆ childName
string DDTrackerRingAlgo::childName |
|
private |
◆ delta
double DDTrackerRingAlgo::delta |
|
private |
◆ idNameSpace
string DDTrackerRingAlgo::idNameSpace |
|
private |
◆ incrCopyNo
int DDTrackerRingAlgo::incrCopyNo |
|
private |
◆ isFlipped
bool DDTrackerRingAlgo::isFlipped |
|
private |
◆ isZPlus
bool DDTrackerRingAlgo::isZPlus |
|
private |
◆ radius
double DDTrackerRingAlgo::radius |
|
private |
◆ rangeAngle
double DDTrackerRingAlgo::rangeAngle |
|
private |
◆ startAngle
double DDTrackerRingAlgo::startAngle |
|
private |
◆ startCopyNo
int DDTrackerRingAlgo::startCopyNo |
|
private |
◆ tiltAngle
double DDTrackerRingAlgo::tiltAngle |
|
private |
std::pair< std::string, std::string > DDSplit(const std::string &n)
split into (name,namespace), separator = ':'
void position(const DDLogicalPart &self, const DDLogicalPart &parent, const std::string ©no, const DDTranslation &trans, const DDRotation &rot, const DDDivision *div=nullptr)