 |
Belle II Software
release-05-02-19
|
14 #ifndef TRGCDCT3DCONVERTER_H
15 #define TRGCDCT3DCONVERTER_H
20 #include <framework/datastore/StoreArray.h>
21 #include <framework/core/Module.h>
22 #include <framework/datastore/StoreObjPtr.h>
23 #include "trg/cdc/dataobjects/TRGCDCT3DUnpackerStore.h"
24 #include <trg/cdc/dataobjects/CDCTriggerSegmentHit.h>
25 #include <trg/cdc/dataobjects/CDCTriggerTrack.h>
26 #include <framework/dataobjects/BinnedEventT0.h>
36 class TRGCDCJSignalData;
38 namespace TRGCDCT3DCONVERTERSPACE {
58 virtual void event()
override;
67 virtual void endRun()
override;
73 void storeTSFirmwareData(std::vector<std::vector<std::vector<std::vector<double> > > >& tsfInfo);
76 void filterTSData(std::vector<std::vector<std::vector<std::vector<double> > > >& tsfFirmwareInfo,
77 std::vector<std::vector<std::vector<double> > >& tsfInfo);
80 void addTSDatastore(std::vector<std::vector<std::vector<double> > >& tsfInfo,
int isSt = 1);
84 std::vector<std::vector<std::vector<std::vector<double> > > >& axTsfFirmwareInfo);
90 void filter2DData(std::vector<std::vector<std::vector<double> > >& t2DFirmwareInfo,
91 std::vector<std::vector<std::vector<std::vector<double> > > >& t2DTsfFirmwareInfo, std::vector<std::vector<double> >& t2DInfo,
92 std::vector<std::vector<std::vector<double> > >& t2DTsfInfo);
95 void add2DDatastore(std::vector<std::vector<double> >& t2DInfo, std::vector<std::vector<std::vector<double> > >& t2DTsfInfo);
101 void store3DFastSimData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo);
104 void store3DFirmSimData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo);
107 void filter3DData(std::vector<std::vector<std::vector<double> > >& t3DFirmwareInfo, std::vector<std::vector<double> >& t3DInfo);
110 void add3DDatastore(std::vector<std::vector<double> >& t3DInfo,
bool doConvert = 1);
116 int toTSID(
int iSL,
int iWire);
176 #endif // TRGCDCT3DUNPACKER_H
std::string version() const
returns version of TRGCDCT3DConverterModule.
std::string m_EventTimeName
name of the event time StoreObjPtr
void add2DDatastore(std::vector< std::vector< double > > &t2DInfo, std::vector< std::vector< std::vector< double > > > &t2DTsfInfo)
adds t2DInfo to track data store
unsigned m_fit3DWithTSIM
Mode for fitting with TSIM.
bool m_add3DToDatastore
Flag for adding 3D to datastore.
int t2DRhoTot3DRho(int value, bool isSigned=1)
converts to 2D rho to 3D rho value
bool m_addTSToDatastore
Flag for adding TS to datastore.
void store3DFirmSimData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo)
uses firm sim with debug
int t2DPhiTot3DPhi(int phi, int rho)
converts to 2D phi to 3D phi value
TRGCDCT3DConverterModule()
Constructor.
virtual ~TRGCDCT3DConverterModule()
Destructor.
bool m_add2DFinderToDatastore
Flag for adding 2D finder to datastore.
virtual void beginRun() override
Called when new run started.
virtual void endRun() override
Called when run ended.
Belle2::TRGCDCJSignalData * m_commonData
TRGCDCJSignalData for VHDL generation (jbkim's class)
bool m_addEventTimeToDatastore
Flag for adding event time to datastore.
int toTSID(int iSL, int iWire)
converts sl, iWire to continuous TS ID [0,2335]
virtual void event() override
Called event by event.
void filter2DData(std::vector< std::vector< std::vector< double > > > &t2DFirmwareInfo, std::vector< std::vector< std::vector< std::vector< double > > > > &t2DTsfFirmwareInfo, std::vector< std::vector< double > > &t2DInfo, std::vector< std::vector< std::vector< double > > > &t2DTsfInfo)
** filters t2DFirmwareInfo to t2DInfo*/
std::string m_firmwareResultCollectionName
Name of the StoreArray containing the input firmware results.
std::string m_hitCollectionName
Name of the StoreArray containing the input track segment hits.
virtual void terminate() override
Called when processing ended.
A class to hold common data for JSignals.
int toSigned(int value, int nBits)
converts to signed value
void store2DFirmwareData(std::vector< std::vector< std::vector< double > > > &t2DFirmwareInfo, std::vector< std::vector< std::vector< std::vector< double > > > > &axTsfFirmwareInfo)
converts firmwareResults of 2D to a vector
StoreArray< CDCTriggerTrack > m_tracks3D
list of 3D output tracks
void debug3DFirmware()
Used for debugging 3D firmware.
A module of TRGCDCT3DConverter.
Abstract base class for different kinds of events.
Type-safe access to single objects in the data store.
StoreObjPtr< BinnedEventT0 > m_eventTime
StoreObjPtr containing the event time.
void add3DDatastore(std::vector< std::vector< double > > &t3DInfo, bool doConvert=1)
adds t3DInfo to track data store
std::map< std::string, TRGCDCJSignal > m_mSignalStorage
TRGCDCJSignal for VHDL generation (jbkim's class)
void store3DFastSimData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo)
uses fast sim with debug
void addTSDatastore(std::vector< std::vector< std::vector< double > > > &tsfInfo, int isSt=1)
adds tsfInfo to TS data store
StoreArray< TRGCDCT3DUnpackerStore > m_firmwareResults
list of firmware results
void store3DFirmwareData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo)
converts firmwareResults of 3D to a vector
virtual void initialize() override
Initilizes TRGCDCT3DConverterModule.
std::string m_outputCollectionName
Name of the StoreArray containing the resulting 3D tracks.
unsigned m_isVerbose
Switch printing detail information.
std::map< std::string, TRGCDCJLUT * > m_mLutStorage
TRGCDCJLUT for VHDL generation (jbkim's class)
void storeTSFirmwareData(std::vector< std::vector< std::vector< std::vector< double > > > > &tsfInfo)
converts firmwareResults of TS to a vector
StoreArray< CDCTriggerTrack > m_tracks2D
list of 2D input tracks
Accessor to arrays stored in the data store.
void filter3DData(std::vector< std::vector< std::vector< double > > > &t3DFirmwareInfo, std::vector< std::vector< double > > &t3DInfo)
filters t3DFirmwareInfo to t3DInfo
std::string m_inputCollectionName
Name of the StoreArray containing the input tracks from the 2D fitter.
StoreArray< CDCTriggerSegmentHit > m_hits
list of track segment hits
void filterTSData(std::vector< std::vector< std::vector< std::vector< double > > > > &tsfFirmwareInfo, std::vector< std::vector< std::vector< double > > > &tsfInfo)
filters tsfFirmwareInfo to tsfInfo