Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "DataFormats/DTRecHit/interface/DTSLRecCluster.h"
00016
00017
00018
00019
00020 #include <iostream>
00021 using namespace std;
00022
00023
00024
00025
00026 static AlgebraicMatrix initMatrix() {
00027 AlgebraicMatrix m( 2, 5, 0);
00028 m[0][1]=1;
00029 return m;
00030 }
00031
00032 const AlgebraicMatrix DTSLRecCluster::theProjectionMatrix = initMatrix();
00033
00034
00035 DTSLRecCluster::DTSLRecCluster(const DTSuperLayerId id, const std::vector<DTRecHit1DPair>& pairs) :
00036 theSlid(id), thePairs(pairs){
00037 }
00038
00039 DTSLRecCluster::DTSLRecCluster(const DTSuperLayerId id,
00040 const LocalPoint& pos,
00041 const LocalError& err,
00042 const std::vector<DTRecHit1DPair>& pairs) :
00043 theSlid(id), thePos(pos), thePosError(err), thePairs(pairs){
00044 }
00045
00046
00047
00048
00049 vector<const TrackingRecHit*> DTSLRecCluster::recHits() const {
00050 std::vector<const TrackingRecHit*> pointersOfRecHits;
00051
00052 for(std::vector<DTRecHit1DPair>::const_iterator rechit = thePairs.begin();
00053 rechit != thePairs.end(); rechit++)
00054 pointersOfRecHits.push_back( &(*rechit) );
00055
00056 return pointersOfRecHits;
00057 }
00058
00059 vector<TrackingRecHit*> DTSLRecCluster::recHits() {
00060 std::vector<TrackingRecHit*> pointersOfRecHits;
00061
00062 for(std::vector<DTRecHit1DPair>::iterator rechit = thePairs.begin();
00063 rechit != thePairs.end(); rechit++)
00064 pointersOfRecHits.push_back( &(*rechit) );
00065
00066 return pointersOfRecHits;
00067 }
00068
00069 ostream& operator<<(ostream& os, const DTSLRecCluster& clus) {
00070 os << "Pos " << clus.localPosition()
00071 << " err " << clus.localPositionError()
00072 << " nHits: " << clus.nHits() ;
00073 return os;
00074 }
00075
00076