Belle II Software  release-05-02-19
JSignalData.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : JSignalData.h
5 // Section : TRG CDC
6 // Owner : Jaebak KIM (K.U.)
7 // Email : jbkim@hep.korea.ac.kr
8 //-----------------------------------------------------------------------------
9 // Description : A class for SignalData in CDC Trigger for 3D tracker.
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCJSignalData_FLAG_
15 #define TRGCDCJSignalData_FLAG_
16 
17 #include <string>
18 #include <vector>
19 #include <map>
20 
21 #ifdef TRGCDC_SHORT_NAMES
22 #define JSignalData TRGCDCJSignalData
23 #endif
24 
25 namespace Belle2 {
31  class TRGCDCJSignal;
32 
35  friend class TRGCDCJSignal;
36  friend class TRGCDCJLUT;
37 
38  public:
39 
43  void setVhdlOutputFile(std::string);
45  void setPrintVhdl(bool);
47  void setPrintedToFile(bool);
49  void setVhdlInProcess(std::string);
51  void setVhdlOutProcess(std::string);
53  std::string getVhdlOutputFile() const;
55  bool getPrintVhdl() const;
57  bool getPrintedToFile() const;
59  std::map<std::string, std::vector<int> > const& getSignals() const;
61  std::string getVhdlInProcess() const;
63  std::string getVhdlOutProcess() const;
65  std::string getVhdlDefine() const;
68  void printToFile();
70  void buffersVhdlCode();
72  void signalsVhdlCode();
74  void entryVhdlCode();
75 
76  private:
77 
80  std::string m_vhdlOutputFile;
82  std::string m_vhdlEntry;
84  std::string m_vhdlDefine;
86  std::string m_vhdlInProcess;
88  std::string m_vhdlOutProcess;
95  std::map<std::string, std::vector<int> > m_buffers;
97  std::map<std::string, std::vector<int> > m_signals;
99  std::map<std::string, bool > m_arrayType;
100 
101  };
102 
104 }
105 
106 #endif /* TRGCDCJSignalData_FLAG_ */
Belle2::TRGCDCJSignalData::buffersVhdlCode
void buffersVhdlCode()
Function to print buffer VHDL code.
Definition: JSignalData.cc:152
Belle2::TRGCDCJSignalData::m_vhdlOutProcess
std::string m_vhdlOutProcess
Holds VHDL out of process code.
Definition: JSignalData.h:88
Belle2::TRGCDCJSignalData::getSignals
std::map< std::string, std::vector< int > > const & getSignals() const
Gets the signals that were saved for one line of VHDL.
Definition: JSignalData.cc:102
Belle2::TRGCDCJSignalData::getVhdlInProcess
std::string getVhdlInProcess() const
Gets the VHDL code that are in a process statement.
Definition: JSignalData.cc:87
Belle2::TRGCDCJSignalData::m_buffers
std::map< std::string, std::vector< int > > m_buffers
vector<int> is {type, bitwidth, buffer} Holds all the requried VHDL buffers.
Definition: JSignalData.h:95
Belle2::TRGCDCJSignalData::m_vhdlDefine
std::string m_vhdlDefine
Holds VHDL define code.
Definition: JSignalData.h:84
Belle2::TRGCDCJSignalData::setVhdlOutputFile
void setVhdlOutputFile(std::string)
Sets the filename for VHDL output.
Definition: JSignalData.cc:47
Belle2::TRGCDCJSignalData::getVhdlOutProcess
std::string getVhdlOutProcess() const
Gets the VHDL code that are outside a process statement.
Definition: JSignalData.cc:92
Belle2::TRGCDCJSignalData::printToFile
void printToFile()
Utilities Function to print VHDL code.
Definition: JSignalData.cc:108
Belle2::TRGCDCJSignalData::getPrintedToFile
bool getPrintedToFile() const
Gets the status of m_printedToFile.
Definition: JSignalData.cc:82
Belle2::TRGCDCJSignalData::setPrintVhdl
void setPrintVhdl(bool)
Sets if to print VHDL output.
Definition: JSignalData.cc:52
Belle2::TRGCDCJSignalData::m_vhdlOutputFile
std::string m_vhdlOutputFile
Memebers.
Definition: JSignalData.h:80
Belle2::TRGCDCJSignalData::m_printVhdl
bool m_printVhdl
Status if code should be printed.
Definition: JSignalData.h:90
Belle2::TRGCDCJSignal
A class to use Signals for TRGCDC 3D tracker.
Definition: JSignal.h:36
Belle2::TRGCDCJSignalData::TRGCDCJSignalData
TRGCDCJSignalData()
Constructor for class.
Definition: JSignalData.cc:36
Belle2::TRGCDCJSignalData::setPrintedToFile
void setPrintedToFile(bool)
Set to remember that file was printed.
Definition: JSignalData.cc:57
Belle2::TRGCDCJSignalData::setVhdlInProcess
void setVhdlInProcess(std::string)
Set the VHDL code that are in a process statement.
Definition: JSignalData.cc:62
Belle2::TRGCDCJSignalData::entryVhdlCode
void entryVhdlCode()
Function to print entry VHDL code.
Definition: JSignalData.cc:197
Belle2::TRGCDCJSignalData
A class to hold common data for JSignals.
Definition: JSignalData.h:34
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCJSignalData::m_printedToFile
bool m_printedToFile
Statis if VHDL is printed to file.
Definition: JSignalData.h:92
Belle2::TRGCDCJLUT
A class to use LUTs for TRGCDC.
Definition: JLUT.h:36
Belle2::TRGCDCJSignalData::getPrintVhdl
bool getPrintVhdl() const
Gets the status of m_printVhdl.
Definition: JSignalData.cc:77
Belle2::TRGCDCJSignalData::m_signals
std::map< std::string, std::vector< int > > m_signals
Holds all the requried VHDL signals.
Definition: JSignalData.h:97
Belle2::TRGCDCJSignalData::m_vhdlEntry
std::string m_vhdlEntry
Holds VHDL entry code.
Definition: JSignalData.h:82
Belle2::TRGCDCJSignalData::setVhdlOutProcess
void setVhdlOutProcess(std::string)
Set the VHDL code that is outside a process statement.
Definition: JSignalData.cc:67
Belle2::TRGCDCJSignalData::getVhdlOutputFile
std::string getVhdlOutputFile() const
Get the VHDL output code.
Definition: JSignalData.cc:72
Belle2::TRGCDCJSignalData::m_vhdlInProcess
std::string m_vhdlInProcess
Holds VHDL process code.
Definition: JSignalData.h:86
Belle2::TRGCDCJSignalData::signalsVhdlCode
void signalsVhdlCode()
Function to print definition of signal VHDL code.
Definition: JSignalData.cc:180
Belle2::TRGCDCJSignalData::m_arrayType
std::map< std::string, bool > m_arrayType
Holds all the required VHDL types.
Definition: JSignalData.h:99
Belle2::TRGCDCJSignalData::getVhdlDefine
std::string getVhdlDefine() const
Gets the VHDL code for define statement.
Definition: JSignalData.cc:97