Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:39:35

0001 #ifndef Alignment_MuonAlignment_AlignableGEMStation_H
0002 #define Alignment_MuonAlignment_AlignableGEMStation_H
0003 
0004 /* \class AlignableGEMRing
0005  * \author Hyunyong Kim - TAMU
0006  */
0007 
0008 #include "Alignment/CommonAlignment/interface/Utilities.h"
0009 #include "Alignment/CommonAlignment/interface/AlignableComposite.h"
0010 #include "Alignment/CommonAlignment/interface/AlignableSurface.h"
0011 
0012 #include "Alignment/MuonAlignment/interface/AlignableGEMRing.h"
0013 
0014 #include <vector>
0015 
0016 class GeomDet;
0017 class AlignableGEMRing;
0018 
0019 class AlignableGEMStation : public AlignableComposite {
0020 public:
0021   AlignableGEMStation(const std::vector<AlignableGEMRing*>& GEMRings);
0022 
0023   PositionType computePosition();
0024 
0025   RotationType computeOrientation();
0026 
0027   AlignableSurface computeSurface();
0028 
0029   AlignableGEMRing& ring(int i);
0030 
0031   friend std::ostream& operator<<(std::ostream&, const AlignableGEMStation&);
0032 
0033   void dump(void) const override;
0034 
0035 private:
0036   std::vector<AlignableGEMRing*> theGEMRings;
0037 };
0038 
0039 #endif