MarlinTPC  1.2.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
marlin::TimePixXYReaderProcessor Class Reference

Writes data to TrackerRawDataCollection named TimePixRawData. More...

#include <TimePixXYReaderProcessor.h>

Inheritance diagram for marlin::TimePixXYReaderProcessor:

Public Member Functions

 TimePixXYReaderProcessor ()
 C'tor.
 
virtual TimePixXYReaderProcessornewProcessor ()
 
virtual void readDataSource (int numEvents)
 Creates events with TrackerRawData collections from the TimePix raw data input files and calls all active processors' processEvent() and processRunHeader Method.
 
virtual void init ()
 

Protected Member Functions

int getChipID (const int &col, const int &row) const
 Returns the chip ID for a given x and y position of a pixel.
 
IMPL::LCCollectionVec * readXYFile (const std::string &fileName)
 Returns a collection with all (zero-suppressed) pixels in one event, read from a file of the format x,y,value.
 

Protected Attributes

std::string _outputColName
 Name of the output collection.
 
std::string _listName
 Name of the file containing the list of data files.
 
std::string _detName
 Name of the detector (optional).
 
std::string _subDetName
 Name of the subdetector (optional).
 
std::string _dataDescription
 Description of the data (optional).
 
std::ifstream _inFile
 Reads list of data files.
 
std::vector< int > _chipIDs
 Contains the IDs of the different chips.
 
bool _enableTimeStamps
 if true timestamp from Timepix frames will be stored in corresponding events
 
int _lengthOfTimestamp
 number of digits of timestamp
 
int _charsAfterTimestamp
 number of characters following the timestamp in Timepix frame file name
 
bool _noChipHeaders
 set to true if frames have no header lines separating data of different chips, default is false
 
int _maxPixelsPerChip
 maximum number of pixels read out per chip, depends on readout system, default is 4096
 
int _runNr
 Run number, set to 0 per default.
 
int _evtNr
 Number of the current event.
 
int _nChipRow
 Number of chips in each row.
 
int _nChipColumn
 Number of chips in each row.
 
int _minPixels
 Minimum number of activated pixels in an event. Events with less pixels are skipped.
 
unsigned _activatedPixels
 Number of activated pixels in the current event.
 
const int _nPixels
 Number of pixels per row and column on each chip, fixed to 256.
 
const int _nBoardsPerFec
 Number of boards per FEC, fixed to 4.
 
const int _nChipsPerBoard
 Number of chips per board, fixed to 8.
 
bool _isFirstEvent
 Before the first event a run header is added to the data stream.
 
bool _outputIsTransient
 Transient collections are not written to disc.
 

Detailed Description

Writes data to TrackerRawDataCollection named TimePixRawData.

A vector of IDs can be supplied if multiple chips are used. The processor assumes that chips are always arranged in a rectangle. This means that each row is assumed to contain the same number of chips. The same is true for each column. However, chip configurations which don't contain the same number of chips in each column and/or row can also be processed. In this case the maximum numbers of chips per column and row has to provided. The numbering of the chip IDs will in this case be expanded to a rectangular pattern. The chips are numbered from left to right and bottom to top starting from the very left chip in the bottom row. The numbering starts from 0 and is then incremented by one for each additional chip. For custom IDs always (NChipRows * NChipColumns) values have to be provided, otherwise the processor may crash. The IDs set with ChipIDs are assigned to the chips in the same pattern as the default IDs.

Input - Prerequisites

File containing a list with paths to all TimePix data files which are to be converted into TrackerRawData. The data files have to be in the x,y,c format.

Output

Parameters
FileListNameText file with list of input TimePix files TimePix file names must be absolute pathes! (default: TimePixData.txt)
OutputCollectionNameName of the output collection (defaut: TimePixRawData).
NChipRowsNumber of chip rows. At least one chip row has to exist (default: 1).
NChipColumnsNumber of chips in one column (default: 1).
SetOutputTransientIf true the output collection is set transient and not written to file (default: false).
RunNumberSets the number of the run for all events (default 0).
MinPixelsThe minimum number of pixels which must have been activated in each event. Events with less pixels are skipped (default: 10).
DescriptionData descripton for run header - optional parameter (default: no description given).
DetectorNameDetector name for run header - optional parameter (default: "TPC").
SubDetectorNameSub-detector name for run header - optional parameter (default: TimePix).
ChipIDsID number of the chip (lcio::TrackerRawData::CellID0), by this parameter the IDs of all chips can be set. If not set the IDs numbered starting from 0 automatically if no IDs are provided for all the chips. This is an optional parameter if set IDs for ALL chips have to be provided - optional parameter (default: 0). ReadTimestamp If true timestamp from Timepix frame file name is extracted and stored in the corresponding event (default: false). LengthOfTimestamp Number of digits of timestamp (default: 9). CharsAfterTimeStamp Number of characters following the timestamp in Timepix frame file name (default: 4).

Reads TimePix raw data in the format: x,y,c.

Author
Thorsten Krautscheid (University of Bonn)

The documentation for this class was generated from the following files: