File indexing completed on 2023-03-17 10:39:35
0001 #ifndef Alignment_MuonAlignment_AlignableGEMStation_H
0002 #define Alignment_MuonAlignment_AlignableGEMStation_H
0003
0004
0005
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