1 #ifndef RecoLocalTracker_StripClusterizerAlgorithm_h
2 #define RecoLocalTracker_StripClusterizerAlgorithm_h
63 bool allBadBetween(uint16_t
L,
const uint16_t&
R)
const {
while( ++L < R &&
bad(L) );
return L ==
R; }
71 for(
typename T::const_iterator it = input.begin(); it!=input.end(); it++) {
74 if(
ff.empty())
ff.abort();
86 std::vector<std::vector<const FedChannelConnection *> >
connections;
int adc(sample_type sample)
get the ADC sample (12 bits)
virtual void stripByStripAdd(uint16_t strip, uint8_t adc, output_t::FastFiller &out)
edm::ESHandle< SiStripQuality > qualityHandle
void clusterize_(const T &input, output_t &output)
bool bad(const uint16_t &strip) const
SiStripApvGain::Range gainRange
std::vector< uint32_t > const & allDetIds() const
edm::ESHandle< SiStripGain > gainHandle
SiStripQuality::Range qualityRange
virtual void addFed(sistrip::FEDZSChannelUnpacker &unpacker, uint16_t ipair, std::vector< SiStripCluster > &out)
bool isModuleBad(const uint32_t &id) const
virtual ~StripClusterizerAlgorithm()
float noise(const uint16_t &strip) const
InvalidChargeException(const SiStripDigi &)
edm::ESHandle< SiStripNoises > noiseHandle
static std::string const input
virtual void stripByStripEnd(std::vector< SiStripCluster > &out)
virtual bool stripByStripBegin(uint32_t id)=0
static float getNoise(uint16_t strip, const Range &range)
bool setDetId(const uint32_t)
virtual void addFed(sistrip::FEDZSChannelUnpacker &unpacker, uint16_t ipair, output_t::FastFiller &out)
const T & max(const T &a, const T &b)
static float getStripGain(const uint16_t &strip, const SiStripApvGain::Range &range)
Class containning control, module, detector and connection information, at the level of a FED channel...
std::vector< std::vector< const FedChannelConnection * > > connections
std::pair< ContainerIterator, ContainerIterator > Range
edmNew::DetSetVector< SiStripCluster > output_t
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
SiStripDetCabling const * theCabling
SiStripNoises::Range noiseRange
PixelRecoRange< float > Range
bool isModuleUsable(const uint32_t &id) const
std::vector< const FedChannelConnection * > const & currentConnection() const
StripClusterizerAlgorithm()
virtual void initialize(const edm::EventSetup &)
bool allBadBetween(uint16_t L, const uint16_t &R) const
SiStripDetCabling const * cabling() const
void clusterize(const edm::DetSetVector< SiStripDigi > &, output_t &)
std::vector< Index > indices
uint32_t quality_cache_id
virtual void stripByStripAdd(uint16_t strip, uint8_t adc, std::vector< SiStripCluster > &out)
static constexpr unsigned short invalidI
float gain(const uint16_t &strip) const
std::vector< uint32_t > detIds
std::pair< ContainerIterator, ContainerIterator > Range
virtual void clusterizeDetUnit(const edm::DetSet< SiStripDigi > &, output_t::FastFiller &)=0
virtual void stripByStripEnd(output_t::FastFiller &out)