10 regions_(&(regioncabling.getRegionCabling())),
11 clusterizer_(&clustalgo),
14 rawToDigi_(0,0,0,0,0,0,0,0),
17 buffers_.assign(1024,static_cast<sistrip::FEDBuffer*>(0));
22 std::vector< sistrip::FEDBuffer*>::iterator ibuffer =
buffers_.begin();
23 for (; ibuffer!=
buffers_.end(); ibuffer++) {
24 if (*ibuffer)
delete *ibuffer;
39 SiStripRegionCabling::ElementCabling::const_iterator idet = element.begin();
40 for (;idet!=element.end();idet++) {
46 std::vector<FedChannelConnection>::const_iterator iconn = idet->second.begin();
47 for (;iconn!=idet->second.end();iconn++) {
48 const uint16_t fedId = iconn->fedId();
51 if ( !fedId || !iconn->isConnected() ) {
continue; }
61 if ( !rawData.
data() ) {
64 <<
"[sistrip::RawToClustersLazyGetter::"
67 <<
" NULL pointer to FEDRawData for FED id "
74 if ( !rawData.
size() ) {
77 <<
"[sistrip::RawToClustersLazyGetter::"
79 <<
" FEDRawData has zero size for FED id "
88 if (!buffer->
doChecks())
throw cms::Exception(
"FEDBuffer") <<
"FED Buffer check fails for FED ID" << fedId <<
".";
93 <<
"Exception caught when creating FEDBuffer object for FED " << fedId <<
": " << e.
what();
95 if ( buffer ) {
delete buffer; }
102 std::stringstream ss;
110 const uint8_t fedCh = iconn->fedCh();
113 std::ostringstream ss;
114 ss <<
"Problem unpacking channel " << fedCh <<
" on FED " << fedId;
121 uint16_t ipair = iconn->apvPairNumber();
137 std::ostringstream ss;
138 ss <<
"Unordered clusters for channel " << fedCh <<
" on FED " << fedId <<
": " << e.
what();
158 std::ostringstream ss;
159 ss <<
"Unordered clusters for channel " << fedCh <<
" on FED " << fedId <<
": " << e.
what();
172 std::vector<int16_t> digis;
174 digis.push_back(unpacker.
adc());
179 uint32_t
id = iconn->detId();
195 std::vector<int16_t> digis;
197 digis.push_back(unpacker.
adc());
202 uint32_t
id = iconn->detId();
213 <<
"[sistrip::RawToClustersLazyGetter::"
215 <<
" FEDRawData readout mode "
219 <<
" not supported.";
static FEDRawChannelUnpacker procRawModeUnpacker(const FEDChannel &channel)
virtual char const * what() const
static FEDZSChannelUnpacker zeroSuppressedModeUnpacker(const FEDChannel &channel)
SiStripRawProcessingAlgorithms *const rawAlgos_
raw processing algorithms
const std::auto_ptr< SiStripPedestalsSubtractor > subtractorPed
static const char mlRawToCluster_[]
static const uint32_t invalid32_
static FEDRawChannelUnpacker virginRawModeUnpacker(const FEDChannel &channel)
FEDReadoutMode readoutMode() const
static const char mlRawToDigi_[]
virtual bool doChecks() const
const std::auto_ptr< SiStripFedZeroSuppression > suppressor
virtual void stripByStripEnd(std::vector< SiStripCluster > &out)=0
size_t size() const
Lenght of the data buffer in bytes.
virtual void fill(const uint32_t &, record_type &)
virtual bool stripByStripBegin(uint32_t id)=0
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void dumpRawData(uint16_t fed_id, const FEDRawData &, std::stringstream &)
dumps raw data to stdout (NB: payload is byte-swapped,headers/trailer are not).
std::vector< SiStripCluster > record_type
uint8_t sampleNumber() const
static const SubDet subdet(const ElementIndex)
virtual bool channelGood(const uint8_t internalFEDannelNum) const
virtual ~RawToClustersLazyUnpacker()
const FEDChannel & channel(const uint8_t internalFEDChannelNum) const
StripClusterizerAlgorithm *const clusterizer_
clusterizer algorithm
std::vector< sistrip::FEDBuffer * > buffers_
FED event cache.
static FEDZSChannelUnpacker zeroSuppressedLiteModeUnpacker(const FEDChannel &channel)
virtual void stripByStripAdd(uint16_t strip, uint16_t adc, std::vector< SiStripCluster > &out)=0
const FEDRawDataCollection * raw_
raw data
RawToDigiUnpacker rawToDigi_
raw-to-digi
const uint32_t region(const Position) const
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
const std::auto_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
collection_type::const_iterator const_iterator
RawToClustersLazyUnpacker()
private default constructor
static const uint32_t layer(const ElementIndex)
std::map< uint32_t, std::vector< FedChannelConnection > > ElementCabling