39 void process(const Input&, const Output&) const final;
42 void findAllNeighborsInSensor(const
dd4hep::rec::CellID testCellID,
43 std::unordered_set<
dd4hep::rec::CellID>& tested_cells,
44 const
float edep, const
dd4hep::Position hitPos,
45 const
dd4hep::DDSegmentation::CartesianGridXY* segmentation,
46 const
std::pair<
double,
double>& xy_range,
47 const edm4hep::SimTrackerHit& hit,
48 edm4hep::SimTrackerHitCollection* sharedHits) const;
49 float energyAtCell(const
double xDimension, const
double yDimension,
50 const
dd4hep::Position localPos, const
dd4hep::Position hitPos,
51 const
float edep) const;
52 static
float integralGaus(
float mean,
float sd,
float low_lim,
float up_lim);
53 dd4hep::Position cell2LocalPosition(const
dd4hep::rec::CellID& cell) const;
54 static
dd4hep::Position global2Local(const
dd4hep::Position& globalPosition,
55 const TGeoHMatrix* transform);
56 const
dd4hep::DDSegmentation::CartesianGridXY*
57 getLocalSegmentation(const
dd4hep::rec::CellID& cellID) const;
59 mutable
std::unordered_map<const
dd4hep::DetElement*, const TGeoHMatrix*> m_transform_map;
60 mutable
std::unordered_map<const
dd4hep::DetElement*,
61 const
dd4hep::DDSegmentation::CartesianGridXY*>
63 mutable
std::unordered_map<const
dd4hep::DetElement*, const
std::pair<
double,
double>>
65 const
dd4hep::rec::CellIDPositionConverter* m_converter =
nullptr;
66 dd4hep::Segmentation m_seg;
algorithms::Algorithm< algorithms::Input< edm4hep::SimTrackerHitCollection >, algorithms::Output< edm4hep::SimTrackerHitCollection > > SiliconChargeSharingAlgorithm
Definition SiliconChargeSharing.h:29