/home/mweber/Dokumente/CMS/Alignment/kalmanalignment/trunk/simulation/Det.h
Go to the documentation of this file.
00001 #ifndef _Det_h 00002 #define _Det_h 00003 00004 #include <CLHEP/Matrix/Vector.h> 00005 #include <CLHEP/Matrix/Matrix.h> 00006 00007 #include "ReferenceFrame.h" 00008 00030 class Det { 00031 protected: 00033 int fID; 00035 double fWidth; 00037 double fLength; 00039 double fThickness; 00041 double fPitchX; 00043 double fPitchY; 00044 ReferenceFrame fNominal; 00045 ReferenceFrame fMisalignDelta; 00046 ReferenceFrame fAlignDelta; 00047 ReferenceFrame fMisalign; 00048 ReferenceFrame fAlign; 00049 00050 public: 00051 Det(int ID, double Width, double Length, double Thickness, double PitchX, double PitchY); 00052 00053 // return module parameters 00054 00056 const double GetWidth() const { return fWidth; }; 00058 const double GetLength() const { return fLength; }; 00060 const double GetThickness() const { return fThickness; }; 00062 const double GetPitchX() const { return fPitchX; }; 00064 const double GetPitchY() const { return fPitchY; }; 00066 const double GetResolutionX() const { return fPitchX/sqrt(12.); }; 00068 const double GetResolutionY() const { return fPitchY/sqrt(12.); }; 00070 const double GetRadiationLength() const; 00072 int GetID() const { return fID; }; 00073 00074 // Access the reference frames. Note that here not only the delta frames can 00075 // be returned, but also the combined frames. 00077 const ReferenceFrame & GetNominal() const { return fNominal; }; 00079 const ReferenceFrame & GetMisalignDelta() const { return fMisalignDelta; }; 00081 const ReferenceFrame & GetMisalign() const { return fMisalign; }; 00083 const ReferenceFrame & GetAlignDelta() const { return fAlignDelta; }; 00085 const ReferenceFrame & GetAlign() const { return fAlign; }; 00086 00089 bool InsideBounds(CLHEP::HepVector local) const; 00090 00093 CLHEP::HepVector MeasuredIntersection(CLHEP::HepVector trueIntersection) const; 00094 00096 void SetNominalFrame(ReferenceFrame nominal); 00098 void SetMisalignFrame(ReferenceFrame misalignDelta); 00100 void SetAlignFrame(ReferenceFrame alignDelta); 00101 }; 00102 00103 #endif Generated on Thu Jul 14 2011 23:52:01 for Kalman Alignment by 1.7.3 |