CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AlignableCSCStation.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignment_AlignableCSCStation_H
2 #define Alignment_MuonAlignment_AlignableCSCStation_H
3 
16 
18 
19 
20 #include <vector>
21 
22 class GeomDet;
23 class AlignableCSCRing;
24 
29 
31 {
32 
33  public:
34 
35  AlignableCSCStation( const std::vector<AlignableCSCRing*>& cscRings );
36 
38 
39  virtual std::vector<Alignable*> components() const
40  {
41 
42  std::vector<Alignable*> result;
43  result.insert( result.end(), theCSCRings.begin(), theCSCRings.end() );
44  return result;
45 
46  }
47 
48  // gets the global position as the average over all positions of the layers
50  // get the global orientation
51  RotationType computeOrientation() ; //see explanation for "theOrientation"
52  // get the Surface
54 
55  AlignableCSCRing &ring(int i);
56 
57  //virtual void twist(float);
58 
60  friend std::ostream& operator << ( std::ostream&, const AlignableCSCStation& );
61 
63  void dump( void ) const;
64 
65 
66 
67 private:
68 
69  std::vector<AlignableCSCRing*> theCSCRings;
70 
71 
72 };
73 
74 #endif
75 
76 
77 
78 
int i
Definition: DBlmapReader.cc:9
AlignableCSCStation(const std::vector< AlignableCSCRing * > &cscRings)
The constructor simply copies the vector of CSC Rings and computes the surface from them...
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
AlignableCSCRing & ring(int i)
Return Alignable CSC Ring at given index.
~AlignableCSCStation()
Clean delete of the vector and its elements.
tuple result
Definition: mps_fire.py:84
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
void dump(void) const
Recursive printout of the muon CSC Station structure.
friend std::ostream & operator<<(std::ostream &, const AlignableCSCStation &)
Printout muon CSC Station information (not recursive)
AlignableSurface computeSurface()
virtual std::vector< Alignable * > components() const
Return vector of direct components.
std::vector< AlignableCSCRing * > theCSCRings
align::RotationType RotationType
Definition: Alignable.h:36
align::PositionType PositionType
Definition: Alignable.h:35