20 const std::string& blockname,
26 for (
int iIndexIn = 0; iIndexIn <
NIndexIn; iIndexIn++) {
30 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
62 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
63 tmpValIndexOut[iIndexOut] = input.at(
IndexOut[iIndexOut]);
66 bool over_range =
false;
67 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
99 for (
size_t i = 0; i < size; i++) {
124 std::vector<int>& tmpindexDBIn)
const {
133 for (
int iIndexIn = 0; iIndexIn <
NIndexIn; iIndexIn++) {
139 for (
int iIndexIn = 0; iIndexIn <
NIndexIn; iIndexIn++) {
158 std::vector<int>& tmpindexDBOut)
const {
167 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
173 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
186 for (
int iIndexIn = 0; iIndexIn <
NIndexIn; iIndexIn++) {
190 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
195 while (getline(
file, buf)) {
201 while (getline(
file, buf)) {
202 if (buf.substr(0, 1) ==
"E" || buf.substr(0, 1) ==
"F") {
205 std::istringstream line(buf);
206 std::vector<int> entry;
210 entry.push_back(temp);
218 const unsigned int database_size =
m_database.size();
219 for (
unsigned int i = 0; i < database_size; i++) {
226 if (i == database_size - 1 ||
231 for (
int j = 0; j < totline; j++) {
237 for (
unsigned int i = 0; i < database_size; i++) {
268 for (
int iIndexIn = 0; iIndexIn <
NIndexIn; iIndexIn++) {
271 for (
int iIndexDBIn = 0; iIndexDBIn <
m_NIndexDBIn; iIndexDBIn++) {
276 for (
int i = 0; i < size; i++) {
278 for (
int iIndexIn = 0; iIndexIn <
NIndexIn; iIndexIn++) {
287 for (
int iIndexIn = 1; iIndexIn <
NIndexIn; iIndexIn++) {
289 converted += indexIn[iIndexIn] -
m_minIndexIn[iIndexIn];
296 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
300 for (
int iIndexDBOut = 0; iIndexDBOut <
m_NIndexDBOut; iIndexDBOut++) {
305 for (
int i = 0; i < size; i++) {
307 for (
int iIndexOut = 0; iIndexOut <
NIndexOut; iIndexOut++) {
308 tmpValIndexOut[iIndexOut] =
317 for (
int iIndexOut = 1; iIndexOut <
NIndexOut; iIndexOut++) {
static const int IndexIn[NIndexIn]
virtual void makeIndexDBIn(void)
Make the IndexDBIn table.
std::vector< int > m_indexDBIn
int m_minIndexOut[NIndexOut]
virtual void getindexDBVectorOut(std::vector< int > &tmpindexDBOut) const
Get the IndexDBOut table.
virtual void makeIndexDBOut(void)
Make the IndexDBOut table.
virtual bool update(const std::vector< int > &) override
int m_maxIndexOut[NIndexOut]
TGCDatabaseASDToPP(const std::string &filename, const std::string &blockname, bool v_isCommon=true)
Constructor.
bool m_isCommon
This bool variable is used to know the database is common or sector specific.
static const int ReverseIndexIn[DATABASESIZE]
virtual void getNIndexDBOut(int &tmpNIndexDBOut) const
Get the size of the IndexDBOut table.
virtual ~TGCDatabaseASDToPP(void)
Destructor.
virtual void getminIndexOut(int *tmpminIndexOut) const
Get the minimum values of indexOut with NIndexOut dimensions.
virtual int getIndexDBIn(int *indexIn) const override
Get IndexDBIn (position in the databse between 0 and database.size()-1) from indexIn which is NIndexI...
int m_minIndexIn[NIndexIn]
virtual void getNIndexDBIn(int &tmpNIndexDBIn) const
Get the size of the IndexDBIn table.
virtual void getindexDBVectorIn(std::vector< int > &tmpindexDBIn) const
Get the IndexDBIn table.
virtual int getIndexDBOut(int *indexOut) const override
Get IndexDBOut (position in the databse between 0 and database.size()-1) from indexOut which is NInde...
virtual int convertIndexDBIn(int *indexIn) const
Get the interal number, which is between 0 and NIndexDBIn-1.
std::vector< int > m_indexDBOut
virtual void getmaxIndexIn(int *tmpmaxIndexIn) const
Get the maximum values of indexIn with NIndexIn dimensions.
bool isCommon() const
This method is used to know the database is common or sector specific.
static const int IndexOut[NIndexOut]
virtual void getmaxIndexOut(int *tmpmaxIndexOut) const
Get the maximum values of indexOut with NIndexOut dimensions.
virtual void readDB(void) override
virtual int convertIndexDBOut(int *indexOut) const
Get the interal number, which is between 0 and NIndexDBOut-1.
static const int ReverseIndexOut[DATABASESIZE]
virtual void getminIndexIn(int *tmpminIndexIn) const
Get the minimum values of indexIn with NIndexIn dimensions.
virtual int find(const std::vector< int > &) const override
int m_maxIndexIn[NIndexIn]
TGCDatabase(DatabaseType type=NoDatabaseType)
std::vector< std::vector< int > > m_database