CMS 3D CMS Logo

AlignableCSCRing.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignment_AlignableCSCRing_H
2 #define Alignment_MuonAlignment_AlignableCSCRing_H
3 
15 
17 
18 #include <vector>
19 
20 class GeomDet;
22 
27 
29 public:
30  AlignableCSCRing(const std::vector<AlignableCSCChamber*>& cscChambers);
31 
32  // gets the global position as the average over all positions of the layers
34  // get the global orientation
35  RotationType computeOrientation(); //see explanation for "theOrientation"
36  // get the Surface
38 
40 
41  //virtual void twist(float);
42 
44  friend std::ostream& operator<<(std::ostream&, const AlignableCSCRing&);
45 
47  void dump(void) const override;
48 
49 private:
50  std::vector<AlignableCSCChamber*> theCSCChambers;
51 };
52 
53 #endif
friend std::ostream & operator<<(std::ostream &, const AlignableCSCRing &)
Printout muon CSC Ring information (not recursive)
AlignableCSCRing(const std::vector< AlignableCSCChamber * > &cscChambers)
The constructor simply copies the vector of CSC Chambers and computes the surface from them...
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
std::vector< AlignableCSCChamber * > theCSCChambers
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
AlignableSurface computeSurface()
AlignableCSCChamber & chamber(int i)
Return Alignable CSC Chamber at given index.
void dump(void) const override
Recursive printout of the muon CSC Ring structure.
A muon CSC Chamber( an AlignableDet )