Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-30 22:37:53

0001 #ifndef Alignment_TrackerAlignment_AlignableStackDet_H
0002 #define Alignment_TrackerAlignment_AlignableStackDet_H
0003 
0004 /** \class AlignableStackDet
0005  *  An alignable for StackDets in the Phase-2 Outer Tracker detector, 
0006  *  taking care of consistency with AlignableDet components.
0007  *
0008  *  First implementation March 2022
0009  *  \author Marco Musich, U. Pisa / INFN
0010  *  $Date: 2022/03/15 13:36:00 $
0011  *  $Revision: 1.0 $
0012  */
0013 
0014 #include "Alignment/CommonAlignment/interface/AlignableDet.h"
0015 #include "Geometry/CommonDetUnit/interface/StackGeomDet.h"
0016 
0017 class AlignTransformErrorExtended;
0018 class Bounds;
0019 class StripGeomDetType;
0020 
0021 class AlignableStackDet : public AlignableDet {
0022 public:
0023   /// Constructor
0024   AlignableStackDet(const StackGeomDet *geomDet);
0025   /// reduntantly make destructor virtual
0026   ~AlignableStackDet() override = default;
0027 
0028   /// first consistify with component detunits, then call method from AlignableDet
0029   Alignments *alignments() const override;
0030 
0031 private:
0032   /// make alignments consistent with daughters
0033   void consistifyAlignments();
0034   const Plane theLowerDetSurface;
0035 };
0036 
0037 #endif