Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PgPostBankManager.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PgPostBankManager.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef PDBCALPG_PGPOSTBANKMANAGER_H
4
#define PDBCALPG_PGPOSTBANKMANAGER_H
5
6
#include <pdbcalbase/PdbBankID.h>
7
#include <pdbcalbase/PdbBankManager.h>
8
9
#include <
phool/PHTimeStamp.h
>
10
11
#include <map>
12
#include <set>
13
#include <string>
14
#include <ctime>
15
16
class
PdbApplication
;
17
class
PdbCalBank
;
18
class
PdbCalBankIterator
;
19
20
class
PgPostBankManager
:
public
PdbBankManager
21
{
22
public
:
23
static
PgPostBankManager
*
instance
();
24
static
int
Register
();
25
virtual
~PgPostBankManager
();
26
27
protected
:
28
PgPostBankManager
();
29
30
public
:
31
virtual
PdbCalBankIterator
*
getIterator
();
32
virtual
PdbCalBank
*
createBank
(
const
std::string
&,
33
PdbBankID
,
34
const
std::string
&,
PHTimeStamp
&,
PHTimeStamp
&,
const
std::string
&);
35
36
// create bank with run number as key
37
PdbCalBank
*
createBank
(
const
int
,
const
std::string
&,
PdbBankID
,
const
std::string
&,
const
std::string
&,
const
time_t
duration
= 60);
38
39
// create bank for a given range of run numbers rather than timestamps
40
PdbCalBank
*
createBank
(
const
int
,
const
int
,
const
std::string
&,
PdbBankID
,
const
std::string
&,
const
std::string
&);
41
42
// fetch banks with run number as key
43
PdbCalBank
*
fetchBank
(
const
std::string
&,
PdbBankID
,
const
std::string
&,
const
int
);
44
45
PdbCalBank
*
fetchClosestBank
(
const
std::string
&,
PdbBankID
,
const
std::string
&,
const
int
);
46
47
// void fetchAllBanks(PdbBankList &, const std::string &, PdbBankID, const std::string &, const int);
48
// void fetchAllBanks(PdbBankList &, const std::string &, const std::string &, const int);
49
50
// fetch banks with timestamp as key
51
PdbCalBank
*
fetchBank
(
const
std::string
&,
PdbBankID
,
const
std::string
&,
const
PHTimeStamp
&);
52
53
PdbCalBank
*
fetchClosestBank
(
const
std::string
&,
PdbBankID
,
const
std::string
&,
PHTimeStamp
&);
54
55
// void fetchAllBanks(PdbBankList &, const std::string &, PdbBankID, const std::string &, PHTimeStamp &);
56
57
// void fetchAllBanks(PdbBankList &, const std::string &, const std::string &, PHTimeStamp &);
58
59
PdbApplication
*
getApplication
();
60
61
void
fillCalibObject
(
PdbCalBank
*,
const
std::string
&,
PHTimeStamp
&) {}
62
63
void
GetUsedBankRids
(std::map<
std::string
, std::set<int> > &usedbanks)
const
;
64
void
ClearUsedBankRids
() {
BankRid
.clear(); }
65
void
SetMaxInsertTime
(
const
PHTimeStamp
&tMax);
66
67
private
:
68
static
PgPostBankManager
*
mySpecificCopy
;
69
std::map<std::string, std::set<int> >
BankRid
;
70
std::string
getRealName
(
const
std::string
&);
71
PHTimeStamp
tMaxInsertTime
;
72
};
73
74
#endif
/* PDBCAL_PG_PGPOSTBANKMANAGER_H */
coresoftware
blob
master
offline
database
pdbcal
pg
PgPostBankManager.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:04
using
1.8.2 with
sPHENIX GitHub integration