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();
67 for (; git != egit; ++git) {
69 std::vector<const GeometricDet*> inone = (*git)->components();
70 std::vector<const GeometricDet*>::const_iterator git2 = inone.begin();
71 std::vector<const GeometricDet*>::const_iterator egit2 = inone.end();
73 for (; git2 != egit2; ++git2) {
75 std::vector<const GeometricDet*> intwo = (*git2)->components();
76 std::vector<const GeometricDet*>::const_iterator git3 = intwo.begin();
77 std::vector<const GeometricDet*>::const_iterator egit3 = intwo.end();
79 for (; git3 != egit3; ++git3) {
81 std::vector<const GeometricDet*> inthree = (*git3)->components();
82 std::vector<const GeometricDet*>::const_iterator git4 = inthree.begin();
83 std::vector<const GeometricDet*>::const_iterator egit4 = inthree.end();
85 for (; git4 != egit4; ++git4) {
87 std::vector<const GeometricDet*> infour = (*git4)->components();
88 std::vector<const GeometricDet*>::const_iterator git5 = infour.begin();
89 std::vector<const GeometricDet*>::const_iterator egit5 = infour.end();
91 for (; git5 != egit5; ++git5) {
93 std::vector<const GeometricDet*> infive = (*git5)->components();
94 std::vector<const GeometricDet*>::const_iterator git6 = infive.begin();
95 std::vector<const GeometricDet*>::const_iterator egit6 = infive.end();
97 for (; git6 != egit6; ++git6) {
99 std::vector<const GeometricDet*> insix = (*git6)->components();
114 edm::LogError(
"PGeometricDetBuilder") <<
"PGeometricDetBuilder Tag already present";
123 rot.GetComponents(
x,
y,
z);
128 const double tol = 1.e-10;
195 size_t nts =
nt.size();
197 std::vector<int> tempnt(
nt.begin(),
nt.end());
198 for (
size_t extrant =
nt.size(); extrant < 11; ++extrant) {
199 tempnt.push_back(-1);
201 item._nt0 = tempnt[0];
202 item._nt1 = tempnt[1];
203 item._nt2 = tempnt[2];
204 item._nt3 = tempnt[3];
205 item._nt4 = tempnt[4];
206 item._nt5 = tempnt[5];
207 item._nt6 = tempnt[6];
208 item._nt7 = tempnt[7];
209 item._nt8 = tempnt[8];
210 item._nt9 = tempnt[9];
211 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