19 const std::string& blockname,
24 for(
int iIndexIn=0; iIndexIn<
NIndexIn; iIndexIn++) {
28 for(
int iIndexOut=0; iIndexOut<
NIndexOut; iIndexOut++) {
58 if(ip<0)
return false;
61 for(
int iIndexOut=0; iIndexOut<
NIndexOut; iIndexOut++) {
62 tmpValIndexOut[iIndexOut] = input.at(
IndexOut[iIndexOut]);
65 bool over_range =
false;
66 for(
int iIndexOut=0; iIndexOut<
NIndexOut; iIndexOut++) {
97 for(
size_t i=0; i<size; i++){
110 if(!indexIn)
return -1;
130 for(
int iIndexIn=0; iIndexIn<
NIndexIn; iIndexIn++) {
137 for(
int iIndexIn=0; iIndexIn<
NIndexIn; iIndexIn++) {
144 if(!indexOut)
return -1;
164 for(
int iIndexOut=0; iIndexOut<
NIndexOut; iIndexOut++) {
171 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)){
199 while(getline(
file,buf)){
200 if(buf.substr(0,1)==
"E"||buf.substr(0,1)==
"F")
break;
201 std::istringstream line(buf);
202 std::vector<int> entry;
206 entry.push_back(temp);
214 const unsigned int database_size =
m_database.size();
215 for(
unsigned int i=0; i<database_size; i++){
220 if(i==database_size-1||
225 for(
int j=0; j<totline; j++){
232 for(
unsigned int i=0; i<database_size; i++){
264 for(
int iIndexIn=0; iIndexIn<
NIndexIn; iIndexIn++) {
267 for(
int iIndexDBIn=0; iIndexDBIn<
m_NIndexDBIn; iIndexDBIn++) {
272 for(
int i=0; i<size; i++) {
274 for(
int iIndexIn=0; iIndexIn<
NIndexIn; iIndexIn++) {
284 for(
int iIndexIn=1; iIndexIn<
NIndexIn; iIndexIn++) {
294 for(
int iIndexOut=0; iIndexOut<
NIndexOut; iIndexOut++) {
297 for(
int iIndexDBOut=0; iIndexDBOut<
m_NIndexDBOut; iIndexDBOut++) {
302 for(
int i=0; i<size; i++) {
304 for(
int iIndexOut=0; iIndexOut<
NIndexOut; iIndexOut++) {
314 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]
std::vector< std::vector< int > > m_database
TGCDatabase(DatabaseType type=NoDatabaseType)