31 theMonoBounds (gluedDet->monoDet() ->surface().bounds().
clone()),
32 theStereoBounds(gluedDet->stereoDet()->surface().bounds().
clone()),
50 <<
"[AlignableSiStripDet] " <<
"Either != 2 components or "
51 <<
"mono/stereo in wrong order for consistifyAlignments.";
96 posSum += stereoPlane->position().basicVector();
106 std::vector<GlobalPoint> corners;
108 corners.insert(corners.end(), monoDC.begin(), monoDC.end());
110 corners.insert(corners.end(), stereoDC.begin(), stereoDC.end());
112 float xmin(0), xmax(0), ymin(0), ymax(0), zmin(0), zmax(0);
113 for (std::vector<GlobalPoint>::const_iterator
i=corners.begin();
117 if (p.
x() < xmin) xmin = p.
x();
118 if (p.
x() > xmax) xmax = p.
x();
119 if (p.
y() < ymin) ymin = p.
y();
120 if (p.
y() > ymax) ymax = p.
y();
121 if (p.
z() < zmin) zmin = p.
z();
122 if (p.
z() > zmax) zmax = p.
z();
125 LocalVector localOffset((xmin+xmax)/2., (ymin+ymax)/2., (zmin+zmax)/2.);
133 const GlobalVector theMovement(theSurface.position().basicVector() - oldPos.basicVector());
const GeomDetUnit * monoDet() const
virtual Alignments * alignments() const
first consistify with component detunits, then call method from AlignableDet
virtual ~AlignableSiStripDet()
reduntantly make destructor virtual
virtual Alignments * alignments() const
Return vector of alignment data.
const RotationType & globalRotation() const
Return the global orientation of the object.
AlignableSiStripDet(const GluedGeomDet *geomDet)
Constructor.
static BoundPlanePointer build(const PositionType &pos, const RotationType &rot, const Bounds *bounds, MediumProperties *mp=0)
static std::vector< GlobalPoint > corners(const BoundPlane &)
void consistifyAlignments()
make alignments consistent with daughters
const RotationType & rotation() const
Return change of orientation since the creation of the object.
DetId geographicalId() const
The label of this GeomDet.
unsigned int offset(bool)
void addRotation(const RotationType &rotation)
void addDisplacement(const GlobalVector &displacement)
const Bounds * theStereoBounds
Unlimited (trivial) bounds.
const RotationType & rotation() const
virtual Alignables components() const
Return vector of direct components.
const PositionType & globalPosition() const
Return the global position of the object.
const PositionType & position() const
align::Alignables Alignables
AlignableSurface theSurface
const GeomDetUnit * stereoDet() const
const Bounds * theMonoBounds