1 #ifndef Geometry_TrackerNumberingBuilder_GeometricDet_H 2 #define Geometry_TrackerNumberingBuilder_GeometricDet_H 12 #include <DD4hep/Shapes.h> 13 #include <Math/Rotation3D.h> 14 #include <Math/Vector3D.h> 18 #include <ext/pool_allocator.h> 33 using NavRange = std::pair<int const*, size_t>;
37 using Translation = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double> >;
40 using nav_type = std::vector<int, PoolAlloc<int> >;
109 std::unique_ptr<Bounds>
bounds()
const;
119 const std::vector<double>&
params()
const {
123 <<
"Called on a shape which is neither a box, a trap, nor a tub. This is not supported!";
176 const dd4hep::Solid& mySolid)
const;
double siliconAPVNum() const
std::vector< GeometricDet * > GeometricDetContainer
void addComponent(GeometricDet *)
std::vector< double > params_
const std::vector< double > & params() const
const cms::DDSolidShape & shape_dd4hep() const
bool isUpperSensor() const
void setGeographicalID(DetId id)
Position positionBounds() const
Log< level::Error, false > LogError
bool isLowerSensor() const
std::vector< int > nav_type
enum GeometricDet::GDEnumType GeometricEnumType
Mapping::value_type::value_type value(Mapping a, const std::string &name)
ConstGeometricDetContainer & components()
ConstGeometricDetContainer container_
bool isFromDD4hep() const
const Translation & translation() const
static std::string printNavType(int const *n, size_t sz)
std::ostream & operator<<(std::ostream &os, const GeometricDet::NavRange &n)
LegacySolidShape shape() const
Rotation rotationBounds() const
const ConstGeometricDetContainer & components() const
GeometricDet(DDFilteredView *fv, GeometricEnumType dd)
GeometricDet * component(size_t index)
std::vector< GeometricDet const * > ConstGeometricDetContainer
const std::string & name() const
const std::array< const cms::dd::ValuePair< LegacySolidShape, cms::DDSolidShape >, 21 > LegacySolidShapeMap
Point3DBase< float, GlobalTag > PositionType
Surface::RotationType Rotation
const RotationMatrix & rotation() const
Namespace of DDCMS conversion namespace.
std::vector< double > computeLegacyShapeParameters(const cms::DDSolidShape &mySolidShape, const dd4hep::Solid &mySolid) const
const DetId & geographicalId() const
const GeometricEnumType & type() const
bool isSecondSensor() const
double pixROCRows() const
void addComponents(GeometricDetContainer const &cont)
std::pair< int const *, size_t > NavRange
TkRotation< float > RotationType
ROOT::Math::Rotation3D RotationMatrix
ConstGeometricDetContainer deepComponents() const
const nav_type & navType() const
Surface::PositionType Position
bool isFirstSensor() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > Translation
cont
load Luminosity info ##
double pixROCCols() const
std::unique_ptr< Bounds > bounds() const