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];
edm::ESGetToken< cms::DDCompactView, IdealGeometryRecord > dd4HepCompactViewToken_
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >> DD3Vector
edm::ESGetToken< DDCompactView, IdealGeometryRecord > compactViewToken_
void analyze(edm::Event const &iEvent, edm::EventSetup const &) override
#define DEFINE_FWK_MODULE(type)
std::vector< Item > pgeomdets_
edm::ESGetToken< GeometricDet, IdealGeometryRecord > geometricDetToken_
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)
const std::vector< double > & params() const
ConstGeometricDetContainer & components()
bool getData(T &iHolder) const
const RotationMatrix & rotation() const
const GeometricEnumType & type() const
const nav_type & navType() const
bool isNewTagRequest(const std::string &recordName)
cond::Time_t beginOfTime() const
double pixROCCols() const
constexpr valType roundIfNear0(valType value, double tolerance=1.e-7)
const cms::DDSolidShape & shape_dd4hep() const
const DetId & geographicalId() const
ROOT::Math::Rotation3D RotationMatrix
void putOne(const GeometricDet *gd, PGeometricDet *pgd, int lev)
T getParameter(std::string const &) const
void beginRun(edm::Run const &iEvent, edm::EventSetup const &) override
ESTransientHandle< T > getTransientHandle(const ESGetToken< T, R > &iToken) const
const Translation & translation() const
const std::string & name() const
double siliconAPVNum() const
double pixROCRows() const
void endRun(edm::Run const &iEvent, edm::EventSetup const &) override
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >> Translation