8 #ifndef INCLUDE_LAYERFINDER_H_
9 #define INCLUDE_LAYERFINDER_H_
11 #include <EVENT/LCCollection.h>
12 #include <IMPL/TrackerHitPlaneImpl.h>
13 #include <UTIL/CellIDDecoder.h>
14 #include "LCIOTypes.h"
15 #include "streamlog/streamlog.h"
17 #include <DD4hep/Detector.h>
18 #include "DDRec/DetectorData.h"
20 typedef std::map<EVENT::LCCollection*, lcio::CellIDDecoder<lcio::TrackerHitPlane>*>
CollectionMap;
34 const std::string _collectionName,
35 const std::string _detectorName,
36 double _sensThickCheatVal=-1.);
55 lcio::TrackerHitPlane*
GetHit(
int i)
const;
88 lcio::CellIDDecoder<lcio::TrackerHitPlane>*
decoder;
99 const std::string _collectionName,
100 const std::string _detectorName,
101 double _sensThickCheatVal=-1.);
162 int FindSystem(lcio::TrackerHitPlane* thit)
const ;
const LayerResolver & operator=(const LayerResolver< T > &)=delete
std::string GetCollectionEncoding() const
int SetCollection(EVENT::LCEvent *)
double SensitiveThicknessRead(int nLayer) const
std::map< int, LayerResolverBase * > ResolverMap
LayerResolver< dd4hep::rec::ZPlanarData > PlaneResolver
int GetDetTypeFlag() const
LayerFinder & operator=(const LayerFinder &)=delete
const LayerResolverBase & operator=(const LayerResolverBase &)=delete
int DecodeLayer(lcio::TrackerHitPlane *thit) const
int DecodeSystem(lcio::TrackerHitPlane *thit) const
std::string GetCollectionType() const
std::map< EVENT::LCCollection *, lcio::CellIDDecoder< lcio::TrackerHitPlane > * > CollectionMap
unsigned GetNumberOfLayers() const
bool HasCollection() const
virtual double SensitiveThickness(int nLayer) const
virtual ~LayerResolverBase()
int FindSystem(lcio::TrackerHitPlane *thit) const
std::string GetDetectorName() const
lcio::TrackerHitPlane * GetHit(int i) const
ResolverMap::iterator ResolverMapIter
int GetNumberOfHits() const
const T * GetLayering() const
int ReadCollections(EVENT::LCEvent *)
virtual double SensitiveThickness(lcio::TrackerHitPlane *thit) const
LayerResolverFn ThicknessSensitive
virtual unsigned GetNumberOfLayers() const =0
LayerResolverBase()=delete
bool CheatsSensThickness() const
double(LayerResolverBase::* LayerResolverFn)(int) const
LayerResolver< dd4hep::rec::ZDiskPetalsData > PetalResolver
void ReportHandledDetectors()
ResolverMap layerResolvers
std::string GetCollectionName() const
EVENT::LCCollection * collection
double SensitiveThicknessCheat(int) const
std::string collectionName
lcio::CellIDDecoder< lcio::TrackerHitPlane > * GetDecoder() const
double SensitiveThickness(lcio::TrackerHitPlane *)
virtual double SensitiveThicknessRead(int nLayer) const =0
lcio::CellIDDecoder< lcio::TrackerHitPlane > * decoder
const double sensThickCheatVal
std::vector< std::string > StringVec