20 using DD3Vector = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>>;
21 using Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>>;
51 edm::LogError(
"PGeometricDetBuilder") <<
"PoolDBOutputService unavailable";
63 std::vector<const GeometricDet*> tc =
tracker->components();
64 std::vector<const GeometricDet*>::const_iterator git = tc.begin();
65 std::vector<const GeometricDet*>::const_iterator egit = tc.end();
68 for (; git != egit; ++git) {
70 std::vector<const GeometricDet*> inone = (*git)->components();
73 std::vector<const GeometricDet*>::const_iterator git2 = inone.begin();
74 std::vector<const GeometricDet*>::const_iterator egit2 = inone.end();
76 for (; git2 != egit2; ++git2) {
78 std::vector<const GeometricDet*> intwo = (*git2)->components();
81 std::vector<const GeometricDet*>::const_iterator git3 = intwo.begin();
82 std::vector<const GeometricDet*>::const_iterator egit3 = intwo.end();
84 for (; git3 != egit3; ++git3) {
86 std::vector<const GeometricDet*> inthree = (*git3)->components();
89 std::vector<const GeometricDet*>::const_iterator git4 = inthree.begin();
90 std::vector<const GeometricDet*>::const_iterator egit4 = inthree.end();
92 for (; git4 != egit4; ++git4) {
94 std::vector<const GeometricDet*> infour = (*git4)->components();
97 std::vector<const GeometricDet*>::const_iterator git5 = infour.begin();
98 std::vector<const GeometricDet*>::const_iterator egit5 = infour.end();
100 for (; git5 != egit5; ++git5) {
102 std::vector<const GeometricDet*> infive = (*git5)->components();
105 std::vector<const GeometricDet*>::const_iterator git6 = infive.begin();
106 std::vector<const GeometricDet*>::const_iterator egit6 = infive.end();
108 for (; git6 != egit6; ++git6) {
110 std::vector<const GeometricDet*> insix = (*git6)->components();
127 edm::LogError(
"PGeometricDetBuilder") <<
"PGeometricDetBuilder Tag already present";
136 rot.GetComponents(
x,
y,
z);
141 const double tol = 1.e-10;
208 size_t nts =
nt.size();
210 std::vector<int> tempnt(
nt.begin(),
nt.end());
211 for (
size_t extrant =
nt.size(); extrant < 11; ++extrant) {
212 tempnt.push_back(-1);
214 item._nt0 = tempnt[0];
215 item._nt1 = tempnt[1];
216 item._nt2 = tempnt[2];
217 item._nt3 = tempnt[3];
218 item._nt4 = tempnt[4];
219 item._nt5 = tempnt[5];
220 item._nt6 = tempnt[6];
221 item._nt7 = tempnt[7];
222 item._nt8 = tempnt[8];
223 item._nt9 = tempnt[9];
224 item._nt10 = tempnt[10];
double siliconAPVNum() const
T getParameter(std::string const &) const
edm::ESGetToken< cms::DDCompactView, IdealGeometryRecord > dd4HepCompactViewToken_
edm::ESGetToken< DDCompactView, IdealGeometryRecord > compactViewToken_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void analyze(edm::Event const &iEvent, edm::EventSetup const &) override
const std::vector< double > & params() const
const cms::DDSolidShape & shape_dd4hep() const
cond::Time_t beginOfTime() const
std::vector< Item > pgeomdets_
edm::ESGetToken< GeometricDet, IdealGeometryRecord > geometricDetToken_
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Translation
Log< level::Error, false > LogError
PGeometricDetBuilder(const edm::ParameterSet &)
std::vector< int > nav_type
void createOneIOV(const T &payload, cond::Time_t firstSinceTime, const std::string &recordName)
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > DD3Vector
const Translation & translation() const
bool isNewTagRequest(const std::string &recordName)
#define DEFINE_FWK_MODULE(type)
const std::string & name() const
constexpr valType roundIfNear0(valType value, double tolerance=1.e-7)
const RotationMatrix & rotation() const
ROOT::Math::Rotation3D RotationMatrix
const DetId & geographicalId() const
void putOne(const GeometricDet *gd, PGeometricDet *pgd, int lev)
const GeometricEnumType & type() const
double pixROCRows() const
void beginRun(edm::Run const &iEvent, edm::EventSetup const &) override
ESTransientHandle< T > getTransientHandle(const ESGetToken< T, R > &iToken) const
const nav_type & navType() const
void endRun(edm::Run const &iEvent, edm::EventSetup const &) override
double pixROCCols() const