|
|
Definition at line 23 of file DDTIDAxialCableAlgo.cc.
◆ DDTIDAxialCableAlgo()
DDTIDAxialCableAlgo::DDTIDAxialCableAlgo |
( |
| ) |
|
◆ ~DDTIDAxialCableAlgo()
DDTIDAxialCableAlgo::~DDTIDAxialCableAlgo |
( |
| ) |
|
|
override |
◆ execute()
Definition at line 100 of file DDTIDAxialCableAlgo.cc.
110 vector<double> pconZ, pconRmin, pconRmax;
115 pconZ.emplace_back(
z);
116 pconRmin.emplace_back(
r);
117 pconRmax.emplace_back(
rMax);
120 pconZ.emplace_back(
z);
121 pconRmin.emplace_back(
r);
122 pconRmax.emplace_back(
rMax);
124 pconZ.emplace_back(
z);
125 pconRmin.emplace_back(
r);
126 pconRmax.emplace_back(
rMax);
128 pconZ.emplace_back(
z);
129 pconRmin.emplace_back(
r);
130 pconRmax.emplace_back(
rMax);
136 pconZ.emplace_back(
z);
137 pconRmin.emplace_back(
r);
138 pconRmax.emplace_back(
rMax);
144 <<
" from " << -0.5 *
width / CLHEP::deg <<
" to " << 0.5 *
width / CLHEP::deg <<
" and with "
145 << pconZ.size() <<
" sections ";
146 for (
int i = 0;
i < (
int)(pconZ.size());
i++)
147 LogDebug(
"TIDGeom") <<
"\t[" <<
i <<
"]\tZ = " << pconZ[
i] <<
"\tRmin = " << pconRmin[
i]
148 <<
"\tRmax = " << pconRmax[
i];
157 vector<double> pconZ, pconRmin, pconRmax;
160 LogDebug(
"TIDGeom") <<
"DDTIDAxialCableAlgo test: Thk " << thk <<
" Total " << thktot <<
" rMax " <<
rMax <<
" rTop "
161 <<
rTop <<
" dR " <<
r <<
" z " <<
z;
162 pconZ.emplace_back(
z);
163 pconRmin.emplace_back(
rMax);
164 pconRmax.emplace_back(
rMax);
166 pconZ.emplace_back(
z);
167 pconRmin.emplace_back(
rMax);
168 pconRmax.emplace_back(
rTop);
169 pconZ.emplace_back(
zBend);
170 pconRmin.emplace_back(
rMax);
171 pconRmax.emplace_back(
rTop);
177 <<
" from " << -0.5 *
width / CLHEP::deg <<
" to " << 0.5 *
width / CLHEP::deg <<
" and with "
178 << pconZ.size() <<
" sections ";
179 for (
int i = 0;
i < (
int)(pconZ.size());
i++)
180 LogDebug(
"TIDGeom") <<
"\t[" <<
i <<
"]\tZ = " << pconZ[
i] <<
"\tRmin = " << pconRmin[
i]
181 <<
"\tRmax = " << pconRmax[
i];
192 <<
" from " << -0.5 *
width / CLHEP::deg <<
" to " << 0.5 *
width / CLHEP::deg <<
" with Rin "
199 double theta = 90. * CLHEP::deg;
202 double phiy = phix + 90. * CLHEP::deg;
203 double phideg = phix / CLHEP::deg;
207 string rotstr =
childName + to_string(phideg * 10.);
210 LogDebug(
"TIDGeom") <<
"DDTIDAxialCableAlgo test: Creating a new "
211 <<
"rotation: " << rotstr <<
" " <<
theta / CLHEP::deg <<
", " << phix / CLHEP::deg <<
", "
212 <<
theta / CLHEP::deg <<
", " << phiy / CLHEP::deg <<
", 0, 0";
217 for (
int k = 0;
k < (
int)(logs.size());
k++) {
219 if (
k == ((
int)(logs.size()) - 1))
222 LogDebug(
"TIDGeom") <<
"DDTIDAxialCableAlgo test " << logs[
k] <<
" number " <<
i + 1 <<
" positioned in "
223 << mother <<
" at " << tran <<
" with " <<
rotation;
References particleFlowDisplacedVertex_cfi::angles, DDrot(), DDSplit(), dqmdumpme::first, mps_fire::i, createfilelist::int, dqmdumpme::k, LogDebug, Skims_PA_cff::name, class-composition::parent, DDSolidFactory::polycone(), DDCompactView::position(), alignCSCRings::r, photonAnalyzer_cfi::rMax, photonAnalyzer_cfi::rMin, idealTransformation::rotation, edm::second(), theta(), DDSolidFactory::tubs(), and ApeEstimator_cff::width.
◆ initialize()
◆ angles
vector<double> DDTIDAxialCableAlgo::angles |
|
private |
◆ childName
string DDTIDAxialCableAlgo::childName |
|
private |
◆ idNameSpace
string DDTIDAxialCableAlgo::idNameSpace |
|
private |
◆ matIn
string DDTIDAxialCableAlgo::matIn |
|
private |
◆ matOut
string DDTIDAxialCableAlgo::matOut |
|
private |
◆ rMax
double DDTIDAxialCableAlgo::rMax |
|
private |
◆ rMin
double DDTIDAxialCableAlgo::rMin |
|
private |
◆ rTop
double DDTIDAxialCableAlgo::rTop |
|
private |
◆ thick
double DDTIDAxialCableAlgo::thick |
|
private |
◆ width
double DDTIDAxialCableAlgo::width |
|
private |
◆ zBend
double DDTIDAxialCableAlgo::zBend |
|
private |
◆ zEnd
double DDTIDAxialCableAlgo::zEnd |
|
private |
◆ zposRing
vector<double> DDTIDAxialCableAlgo::zposRing |
|
private |
◆ zposWheel
vector<double> DDTIDAxialCableAlgo::zposWheel |
|
private |
DDName is used to identify DDD entities uniquely.
U second(std::pair< T, U > const &p)
vector< double > zposRing
DDMaterial is used to define and access material information.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DDTranslation
vector< double > zposWheel
static DDSolid tubs(const DDName &name, double zhalf, double rIn, double rOut, double startPhi, double deltaPhi)
Geom::Theta< T > theta() const
A DDLogicalPart aggregates information concerning material, solid and sensitveness ....
static DDSolid polycone(const DDName &name, double startPhi, double deltaPhi, const std::vector< double > &z, const std::vector< double > &rmin, const std::vector< double > &rmax)
Creates a polycone (refere to Geant3 or Geant4 documentation)
static std::string & ns()
A DDSolid represents the shape of a part.
Represents a uniquely identifyable rotation matrix.
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)
ROOT::Math::Rotation3D DDRotation