Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:54

0001 /*
0002  *
0003 * This is a part of CTPPS offline software.
0004 * Author:
0005 *   Fabrizio Ferro (ferro@ge.infn.it)
0006 *   Enrico Robutti (robutti@ge.infn.it)
0007 *   Fabio Ravera   (fabio.ravera@cern.ch)
0008 *
0009 */
0010 #ifndef RecoPPS_Local_RPixDetTrackFinder_H
0011 #define RecoPPS_Local_RPixDetTrackFinder_H
0012 
0013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0014 
0015 #include "DataFormats/CTPPSDetId/interface/CTPPSPixelDetId.h"
0016 #include "DataFormats/CTPPSReco/interface/CTPPSPixelLocalTrack.h"
0017 #include "RecoPPS/Local/interface/RPixDetPatternFinder.h"
0018 
0019 #include "Geometry/VeryForwardGeometryBuilder/interface/CTPPSGeometry.h"
0020 
0021 #include <vector>
0022 #include <map>
0023 
0024 class RPixDetTrackFinder {
0025 public:
0026   RPixDetTrackFinder(edm::ParameterSet const &parameterSet) : romanPotId_(CTPPSPixelDetId(0, 2, 3, 0)) {}
0027 
0028   virtual ~RPixDetTrackFinder() {}
0029 
0030   void setHits(std::map<CTPPSPixelDetId, std::vector<RPixDetPatternFinder::PointInPlane> > *hitMap) {
0031     hitMap_ = hitMap;
0032   }
0033   virtual void findTracks(int run) = 0;
0034   virtual void initialize() = 0;
0035   void clear() { localTrackVector_.clear(); }
0036   std::vector<CTPPSPixelLocalTrack> const &getLocalTracks() const { return localTrackVector_; }
0037   void setRomanPotId(CTPPSPixelDetId rpId) { romanPotId_ = rpId; };
0038   void setGeometry(const CTPPSGeometry *geometry) { geometry_ = geometry; }
0039   void setListOfPlanes(std::vector<uint32_t> listOfAllPlanes) { listOfAllPlanes_ = listOfAllPlanes; }
0040   void setZ0(double z0) { z0_ = z0; }
0041 
0042 protected:
0043   std::map<CTPPSPixelDetId, std::vector<RPixDetPatternFinder::PointInPlane> > *hitMap_;
0044   std::vector<CTPPSPixelLocalTrack> localTrackVector_;
0045   CTPPSPixelDetId romanPotId_;
0046   const CTPPSGeometry *geometry_;
0047   uint32_t numberOfPlanesPerPot_;
0048   std::vector<uint32_t> listOfAllPlanes_;
0049   double z0_;
0050 };
0051 
0052 #endif