CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DataFormats/DTRecHit/src/DTSLRecCluster.cc

Go to the documentation of this file.
00001 /******* \class DTSLRecCluster *******
00002  *
00003  * Description:
00004  *  
00005  *  detailed description
00006  *
00007  * \author : Stefano Lacaprara - INFN LNL <stefano.lacaprara@pd.infn.it>
00008  * $date   : 17/04/2008 17:14:32 CEST $
00009  *
00010  * Modification:
00011  *
00012  *********************************/
00013 
00014 /* This Class Header */
00015 #include "DataFormats/DTRecHit/interface/DTSLRecCluster.h"
00016 
00017 /* Collaborating Class Header */
00018 
00019 /* C++ Headers */
00020 #include <iostream>
00021 using namespace std;
00022 
00023 /* ====================================================================== */
00024 
00025 /* static member definition */
00026 bool DTSLRecCluster::isInitialized(false);
00027 
00028 AlgebraicMatrix DTSLRecCluster::theProjectionMatrix;
00029 
00030 /* Constructor */ 
00031 DTSLRecCluster::DTSLRecCluster(const DTSuperLayerId id, const std::vector<DTRecHit1DPair>& pairs) :
00032 theSlid(id), thePairs(pairs){
00033 }
00034 
00035 DTSLRecCluster::DTSLRecCluster(const DTSuperLayerId id,
00036                                const LocalPoint& pos,
00037                                const LocalError& err,
00038                                const std::vector<DTRecHit1DPair>& pairs) :
00039 theSlid(id), thePos(pos), thePosError(err), thePairs(pairs){
00040 }
00041 
00042 /* Destructor */ 
00043 
00044 /* Operations */ 
00045 vector<const TrackingRecHit*> DTSLRecCluster::recHits() const {
00046   std::vector<const TrackingRecHit*> pointersOfRecHits; 
00047   
00048   for(std::vector<DTRecHit1DPair>::const_iterator rechit = thePairs.begin();
00049       rechit != thePairs.end(); rechit++)
00050     pointersOfRecHits.push_back( &(*rechit) );
00051   
00052   return pointersOfRecHits;
00053 }
00054 
00055 vector<TrackingRecHit*> DTSLRecCluster::recHits() {
00056   std::vector<TrackingRecHit*> pointersOfRecHits; 
00057   
00058   for(std::vector<DTRecHit1DPair>::iterator rechit = thePairs.begin();
00059       rechit != thePairs.end(); rechit++)
00060     pointersOfRecHits.push_back( &(*rechit) );
00061   
00062   return pointersOfRecHits;
00063 }
00064 
00065 ostream& operator<<(ostream& os, const DTSLRecCluster& clus) {
00066   os << "Pos " << clus.localPosition()
00067     << " err " << clus.localPositionError()
00068     << " nHits: " << clus.nHits() ;
00069   return os;
00070 }
00071 
00072