File indexing completed on 2023-03-17 10:39:35
0001 #ifndef Alignment_MuonAlignment_AlignableDTBarrel_H
0002 #define Alignment_MuonAlignment_AlignableDTBarrel_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #include "Alignment/CommonAlignment/interface/Utilities.h"
0013 #include "Alignment/CommonAlignment/interface/AlignableComposite.h"
0014 #include "Alignment/CommonAlignment/interface/AlignableSurface.h"
0015
0016 #include "Alignment/MuonAlignment/interface/AlignableDTWheel.h"
0017
0018 #include <vector>
0019
0020 class GeomDet;
0021
0022
0023
0024
0025
0026
0027 class AlignableDTBarrel : public AlignableComposite {
0028 public:
0029 AlignableDTBarrel(const std::vector<AlignableDTWheel*>& dtWheels);
0030
0031
0032 PositionType computePosition();
0033
0034 RotationType computeOrientation();
0035
0036 AlignableSurface computeSurface();
0037
0038 AlignableDTWheel& wheel(int i);
0039
0040
0041 friend std::ostream& operator<<(std::ostream&, const AlignableDTBarrel&);
0042
0043
0044 void dump(void) const override;
0045
0046
0047 Alignments* alignments() const override;
0048
0049
0050 AlignmentErrorsExtended* alignmentErrors() const override;
0051
0052 private:
0053 std::vector<AlignableDTWheel*> theDTWheels;
0054 };
0055
0056 #endif