#include <TrackProjectors/TrackITProjector.h>
Inheritance diagram for TrackITProjector:
Public Member Functions | |
virtual StatusCode | project (const State &state, Measurement &meas) |
virtual StatusCode | initialize () |
initialize | |
TrackITProjector (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard constructor. | |
virtual | ~TrackITProjector () |
Destructor. | |
Private Attributes | |
DeSTDetector * | m_det |
std::string | m_itTrackerPath |
Name of the IT XML geom path. |
Eduardo Rodrigues
Definition at line 18 of file TrackITProjector.h.
|
Standard constructor.
Definition at line 93 of file TrackITProjector.cpp. References m_itTrackerPath. 00096 : TrackProjector ( type, name , parent ) 00097 { 00098 declareInterface<ITrackProjector>(this); 00099 00100 declareProperty( "ITGeometryPath", 00101 m_itTrackerPath = DeSTDetectorLocation::Default ); 00102 }
|
|
Destructor.
Definition at line 107 of file TrackITProjector.cpp. 00107 {};
|
|
initialize
Definition at line 79 of file TrackITProjector.cpp. References m_det, and m_itTrackerPath. 00080 { 00081 StatusCode sc = GaudiTool::initialize(); 00082 if ( sc.isFailure() ) 00083 return Error( "Failed to initialize!", sc ); 00084 00085 m_det = getDet<DeSTDetector>( m_itTrackerPath ); 00086 00087 return StatusCode::SUCCESS; 00088 }
|
|
Project a state onto a measurement. It returns the chi squared of the projection Reimplemented from TrackProjector. Definition at line 25 of file TrackITProjector.cpp. References TrackProjector::computeErrorResidual(), and m_det. 00027 { 00028 00029 debug() 00030 << " Project state:"<< endreq 00031 << " - position = " << state.position() << " mm" << endreq 00032 << " - momentum = " << state.momentum() << " MeV" << endreq 00033 << " - P = " << state.p() << " MeV" << endreq 00034 << " and measurement:"<< endreq 00035 << " - z = " << meas.z() << " mm" << endreq 00036 << " - measure = " << meas.measure() << endreq 00037 << " - type = " << meas.type() << endreq 00038 << " - LHCbID = " << meas.lhcbID() << endreq 00039 << " - ch. ID = " << meas.lhcbID().stID().channelID() << endreq; 00040 00041 ITChannelID ITChan = meas.lhcbID().stID(); 00042 debug() << " - ITChan = " << ITChan << endreq 00043 << " station = " << ITChan.station() << endreq 00044 << " layer = " << ITChan.layer() << endreq 00045 << " wafer = " << ITChan.wafer() << endreq 00046 << " strip = " << ITChan.strip() << endreq; 00047 00048 const STDetectionLayer* ITLay = m_det -> layer( ITChan ); 00049 00050 double stereoAngle = ITLay->stereoAngle(); 00051 00052 debug() << "stereoAngle = " << stereoAngle << endreq; 00053 00054 unsigned int n = state.nParameters(); 00055 m_H = HepVector(n,0); 00056 m_H[0] = cos( stereoAngle ); 00057 m_H[1] = sin( stereoAngle ); 00058 00059 debug() << "H = " << m_H << endreq; 00060 00061 // equivalent to computeResidual(state,meas); 00062 m_residual = meas.measure() 00063 - state.x() * cos( stereoAngle ) 00064 - state.y() * sin( stereoAngle ); 00065 00066 debug() << "residual = " << m_residual << endreq; 00067 00068 computeErrorResidual( state, meas ); 00069 00070 debug() << "error residual = " << m_errResidual << endreq; 00071 00072 return StatusCode::SUCCESS; 00073 00074 }
|
|
Definition at line 38 of file TrackITProjector.h. Referenced by initialize(), and project(). |
|
Name of the IT XML geom path.
Definition at line 40 of file TrackITProjector.h. Referenced by initialize(), and TrackITProjector(). |