ATLAS Offline Software
Loading...
Searching...
No Matches
Athena_test Namespace Reference

functions & macros to test the difference between floats More...

Classes

class  InitGaudiGoogleTest
class  TestedValue
class  InitGaudi
 Generic test fixture to setup Gaudi. More...
struct  LeakCheckDisable
struct  Leakcheck
struct  RNG
 Generator compatible with the STL RandomNumberGenerator. More...
struct  URNG
 Generator compatible with the C++11 STL UniformRandomNumberGenerator. More...
class  normal_distribution
class  uniform_real_distribution
class  TestAlloc
 To test handling of non-standard memory allocators. More...
class  DummyRCUSvc

Functions

bool initGaudi (ISvcLocator *&pSvcLoc)
 Minimal Gaudi initialization for unit testing without job options.
bool initGaudi (const std::string &jobOptsFile, ISvcLocator *&pSvcLoc)
 Minimal Gaudi initialization for unit testing.
void referenceGaudiSymbols ()
template<typename T>
bool cmp_eq (T a, T b)
template<>
bool cmp_eq< float > (float a, float b)
template<>
bool cmp_eq< double > (double a, double b)
bool floatEQ (float lhs, float rhs)
bool floatNEQ (float lhs, float rhs)
bool isEqual (double x1, double x2, double thresh=1e-6)
uint32_t rng_seed (uint32_t &seed)
 Generate a random number between 0 and rngmax.
float randf_seed (uint32_t &seed, float rmax, float rmin=0)
 Generate a floating-point random number between rmin and rmax.
int randi_seed (uint32_t &seed, int rmax, int rmin=0)
 Generate an integer random number between rmin and rmax.
uint32_t rng ATLAS_NOT_REENTRANT ()
int randi ATLAS_NOT_REENTRANT (int rmax, int rmin=0)
float randf ATLAS_NOT_REENTRANT (float rmax, float rmin=0)
bool setupStoreGate (std::string progname, std::string options_file="")
 Helper for setting up StoreGate for regression tests.
void testCreate (StoreGateSvc &rSG)
void testRecord (StoreGateSvc &rSG)
void testSymLink (StoreGateSvc &rSG)
void test_symlink2 (StoreGateSvc &rSG)
void test_symlink3 (StoreGateSvc &rSG)
void testContains (StoreGateSvc &rSG)
void testFolders (StoreGateSvc &rSG)
void testRetrieve (StoreGateSvc &rSG)
void testTryRetrieve (StoreGateSvc &rSG)
void testReadPrivateCopy (StoreGateSvc &rSG)
void testRetrievePrivateCopy (StoreGateSvc &rSG)
void testRemove (StoreGateSvc &rSG)
void testClear (StoreGateSvc &rSG)
void testTransientSwap (StoreGateSvc &rSG)
void testVersionedKey (StoreGateSvc &rSG)
void testKeys (StoreGateSvc &rSG)
void testRetrieveAux (StoreGateSvc &rSG)
void testBoundReset (StoreGateSvc &rSG)
void testRecordObject (StoreGateSvc &rSG)
void testWriteAux (StoreGateSvc &rSG)
void varHandleTest (SGTest::TestStore &)
void resetableTest (void)
void refCountTest (void)
bool initMcEventCollection (ISvcLocator *&pSvcLoc, std::vector< HepMC::GenParticlePtr > &genPartVector, const bool initGaudi=true)
void populateGenEvent (HepMC::GenEvent &ge, int pdgid1, int pdgid2, std::vector< HepMC::GenParticlePtr > &genPartVector)
void populateFilteredGenEvent (HepMC::GenEvent &ge, std::vector< HepMC::GenParticlePtr > &genPartVector)
int maximumBarcode (std::vector< HepMC::GenParticlePtr > &genPartList)

Variables

std::unordered_set< void * > * allocs = nullptr
static const uint32_t rngmax = static_cast<uint32_t> (-1)
 Maximum number generated.
static uint32_t seed = 1

Detailed Description

functions & macros to test the difference between floats

Function Documentation

◆ ATLAS_NOT_REENTRANT() [1/3]

uint32_t rng Athena_test::ATLAS_NOT_REENTRANT ( )
inline

Definition at line 90 of file random.h.

90{ return rng_seed(seed); }
static uint32_t seed
Definition random.h:88
uint32_t rng_seed(uint32_t &seed)
Generate a random number between 0 and rngmax.
Definition random.h:44

◆ ATLAS_NOT_REENTRANT() [2/3]

float randf Athena_test::ATLAS_NOT_REENTRANT ( float rmax,
float rmin = 0 )
inline

Definition at line 94 of file random.h.

94{ return randf_seed (seed, rmax, rmin); }
float randf_seed(uint32_t &seed, float rmax, float rmin=0)
Generate a floating-point random number between rmin and rmax.
Definition random.h:53

◆ ATLAS_NOT_REENTRANT() [3/3]

int randi Athena_test::ATLAS_NOT_REENTRANT ( int rmax,
int rmin = 0 )
inline

Definition at line 92 of file random.h.

92{ return randi_seed (seed, rmax, rmin); }
int randi_seed(uint32_t &seed, int rmax, int rmin=0)
Generate an integer random number between rmin and rmax.
Definition random.h:61

◆ cmp_eq()

template<typename T>
bool Athena_test::cmp_eq ( T a,
T b )

Definition at line 18 of file expect.h.

18{ return a == b; }
static Double_t a

◆ cmp_eq< double >()

template<>
bool Athena_test::cmp_eq< double > ( double a,
double b )

Definition at line 22 of file expect.h.

22{ return std::abs(a - b) < 1.e-6; }

◆ cmp_eq< float >()

template<>
bool Athena_test::cmp_eq< float > ( float a,
float b )

Definition at line 20 of file expect.h.

20{ return std::abs(a - b) < 1.e-4; }

◆ floatEQ()

bool Athena_test::floatEQ ( float lhs,
float rhs )
inline

Definition at line 17 of file FLOATassert.h.

17 {
18 return fabs(lhs-rhs)<=FLT_EPSILON;
19 }

◆ floatNEQ()

bool Athena_test::floatNEQ ( float lhs,
float rhs )
inline

Definition at line 21 of file FLOATassert.h.

21 {
22 return fabs(lhs-rhs)>FLT_EPSILON;
23 }

◆ initGaudi() [1/2]

bool Athena_test::initGaudi ( const std::string & jobOptsFile,
ISvcLocator *& pSvcLoc )

Minimal Gaudi initialization for unit testing.

Parameters
jobOptsFilejob options file name
pSvcLocreturns a pointer to the Gaudi ServiceLocator
Returns
true on success, false on failure

Definition at line 29 of file initGaudi.cxx.

29 {
30
31 std::string jobOptsPath;
32 if (!jobOptsFile.empty()) {
33 jobOptsPath = System::PathResolver::find_file(jobOptsFile, "JOBOPTSEARCHPATH");
34 if (jobOptsPath.empty()) {
35 std::cout << "\n\nCannot find job opts " << jobOptsFile << std::endl;
36 }
37 else {
38 std::cout << "\n\nInitializing Gaudi ApplicationMgr using job opts " << jobOptsPath << std::endl;
39 }
40 }
41
42 // Create an instance of ApplicationMgr
43 SmartIF<IAppMgrUI> appMgr = Gaudi::createApplicationMgr();
44 if(!appMgr.isValid()) {
45 std::cout << "Fatal error while creating the ApplicationMgr " << std::endl;
46 return false;
47 }
48
49 SmartIF<IProperty> propMgr(appMgr);
50 SmartIF<ISvcLocator> svcLoc(appMgr);
51 if(!svcLoc.isValid() || !propMgr.isValid()) {
52 std::cout << "Fatal error while retrieving AppMgr interfaces " << std::endl;
53 return false;
54 }
55
56 // Return pointer to ISvcLocator
57 pSvcLoc = svcLoc.get();
58
59 propMgr->setProperty( "EvtSel", "NONE" ).
60 orThrow("Cannnot set EvtSel property", "initGaudi");
61 if (jobOptsFile.empty()) {
62 propMgr->setProperty( "JobOptionsType", "NONE" ).
63 orThrow("Cannnot set JobOptionsType property", "initGaudi");
64 } else {
65 propMgr->setProperty( "JobOptionsType", "FILE" ).
66 orThrow("Cannnot set JobOptionsType property", "initGaudi");
67 propMgr->setProperty( "JobOptionsPath", jobOptsPath ).
68 orThrow("Cannnot set JobOptionsPath property", "initGaudi");
69 }
70
71 if (appMgr->configure().isSuccess() && appMgr->initialize().isSuccess()) {
72 std::cout<<"ApplicationMgr Ready"<<std::endl;
73 return true;
74 } else {
75 std::cout << "Fatal error while initializing the AppMgr" << std::endl;
76 return false;
77 }
78 }

◆ initGaudi() [2/2]

bool Athena_test::initGaudi ( ISvcLocator *& pSvcLoc)

Minimal Gaudi initialization for unit testing without job options.

Parameters
pSvcLocreturns a pointer to the Gaudi ServiceLocator
Returns
true on success, false on failure

Definition at line 24 of file initGaudi.cxx.

24 {
25 return initGaudi({}, pSvcLoc);
26 }
bool initGaudi(ISvcLocator *&pSvcLoc)
Minimal Gaudi initialization for unit testing without job options.
Definition initGaudi.cxx:24

◆ initMcEventCollection()

bool Athena_test::initMcEventCollection ( ISvcLocator *& pSvcLoc,
std::vector< HepMC::GenParticlePtr > & genPartVector,
const bool initGaudi = true )

Definition at line 23 of file initMcEventCollection.cxx.

24 {
25 if (initGaudi && !Athena_test::initGaudi(pSvcLoc)) {
26 std::cerr << "This test can not be run" << std::endl;
27 return false;
28 }
29 // create dummy input McEventCollection with a name that
30 // HepMcParticleLink knows about
31 SG::WriteHandle<McEventCollection> inputTestDataHandle{"TruthEvent"};
32 inputTestDataHandle = std::make_unique<McEventCollection>();
33
34 // create a dummy EventContext
35 EventContext ctx;
36 ctx.setExtension( Atlas::ExtendedEventContext( SG::CurrentEventStore::store() ) );
37 Gaudi::Hive::setCurrentContext( ctx );
38
39 // Add a dummy GenEvent
40 const int process_id1(20);
41 const int event_number1(17);
42 inputTestDataHandle->push_back(HepMC::newGenEvent(process_id1, event_number1));
43 HepMC::GenEvent& ge1 = *(inputTestDataHandle->at(0));
44 populateGenEvent(ge1,-11,11,genPartList);
45 populateGenEvent(ge1,-13,13,genPartList);
46 populateGenEvent(ge1,-11,11,genPartList);
47 populateGenEvent(ge1,-13,13,genPartList);
48 populateGenEvent(ge1,-11,11,genPartList);
49 populateGenEvent(ge1,22,22,genPartList);
50 inputTestDataHandle->push_back(new HepMC::GenEvent(ge1));
51 HepMC::GenEvent& ge2 = *(inputTestDataHandle->at(1));
52 const int event_number2(89);
53 ge2.set_event_number(event_number2);
54 populateFilteredGenEvent(ge2,genPartList);
55 return true;
56 }
void populateGenEvent(HepMC::GenEvent &ge, int pdgid1, int pdgid2, std::vector< HepMC::GenParticlePtr > &genPartVector)
void populateFilteredGenEvent(HepMC::GenEvent &ge, std::vector< HepMC::GenParticlePtr > &genPartVector)
GenEvent * newGenEvent(const int a, const int b)
Definition GenEvent.h:644

◆ isEqual()

bool Athena_test::isEqual ( double x1,
double x2,
double thresh = 1e-6 )
inline

Definition at line 26 of file FLOATassert.h.

27 {
28 double den = std::abs(x1+x2);
29 if (den < thresh) return true;
30 double diff = std::abs (x1-x2) / den;
31 if (diff < thresh)
32 return true;
33 std::cout << "Match failure: " << x1 << " " << x2 << " (" << diff << ")\n";
34 return false;
35 }
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.
Definition Jet.cxx:631

◆ maximumBarcode()

int Athena_test::maximumBarcode ( std::vector< HepMC::GenParticlePtr > & genPartList)

Definition at line 58 of file initMcEventCollection.cxx.

59 {
60 int maxBarcode{0};
61 if (genPartList.empty()) { return maxBarcode; }
62 for (HepMC::GenParticlePtr genPart : genPartList)
63 {
64 maxBarcode = std::max(maxBarcode, HepMC::barcode(genPart));
65 }
66 return maxBarcode;
67 }
int barcode(const T *p)
Definition Barcode.h:16
GenParticle * GenParticlePtr
Definition GenParticle.h:37

◆ populateFilteredGenEvent()

void Athena_test::populateFilteredGenEvent ( HepMC::GenEvent & ge,
std::vector< HepMC::GenParticlePtr > & genPartVector )

< set decay status

Definition at line 97 of file initMcEventCollection.cxx.

98 {
99 //.......Create new particle (geantino) to link hits from pileup
101 genPart->set_pdg_id(999); //Geantino
102 genPart->set_status(1);
104
106 genVertex->add_particle_out(genPart);
107 genPartVector.push_back(genPart);
108
109 //to set geantino vertex as a truth primary vertex
111 if (hScatVx!=nullptr) {
112 HepMC::FourVector pmvxpos=hScatVx->position();
113 genVertex->set_position(pmvxpos);
114 //to set geantino kinematic phi=eta=0, E=p=E_hard_scat
115#ifdef HEPMC3
116 auto itrp =hScatVx->particles_in().cbegin();
117 if (hScatVx->particles_in().size()==2) {
118 HepMC::FourVector mom1=(*itrp)->momentum();
119 HepMC::FourVector mom2=(*(++itrp))->momentum();
120 HepMC::FourVector vxmom;
121 vxmom.setPx(mom1.e()+mom2.e());
122 vxmom.setPy(0.);
123 vxmom.setPz(0.);
124 vxmom.setE(mom1.e()+mom2.e());
125 genPart->set_momentum(vxmom);
126 }
127#else
128 HepMC::GenVertex::particles_in_const_iterator itrp =hScatVx->particles_in_const_begin();
129 if (hScatVx->particles_in_size()==2) {
130 HepMC::FourVector mom1=(*itrp)->momentum();
131 HepMC::FourVector mom2=(*(++itrp))->momentum();
132 HepMC::FourVector vxmom;
133 vxmom.setPx(mom1.e()+mom2.e());
134 vxmom.setPy(0.);
135 vxmom.setPz(0.);
136 vxmom.setE(mom1.e()+mom2.e());
137 genPart->set_momentum(vxmom);
138 }
139#endif
140 }
141
142#ifdef HEPMC3
143 if (!ge.vertices().empty()) {
144 std::vector<HepMC::GenVertexPtr> vtxvec;
145 for (const auto& vtx: ge.vertices()) {
146 vtxvec.push_back(vtx);
147 ge.remove_vertex(vtx);
148 }
149 vtxvec.clear();
150 }
151#else
152 if (!ge.vertices_empty()) {
153 HepMC::GenEvent::vertex_iterator itvtx = ge.vertices_begin();
154 while (itvtx != ge.vertices_end()) {
155 HepMC::GenVertexPtr pvtx = *itvtx;
156 ++itvtx;
157 ge.remove_vertex(pvtx);
158 delete pvtx;
159 }
160 }
161#endif
162
163 //.....add new vertex with geantino
164 ge.add_vertex(std::move(genVertex));
166 }
constexpr int SUPPRESSED_PILEUP_BARCODE(std::numeric_limits< int32_t >::max())
This barcode is used by objects matched to particles from pile-up interactions in standard MC Product...
GenVertex * barcode_to_vertex(const GenEvent *e, int id)
Definition GenEvent.h:647
HepMC::GenVertex * GenVertexPtr
Definition GenVertex.h:59
bool suggest_barcode(T &p, int i)
Definition GenEvent.h:690
GenVertexPtr newGenVertexPtr(const HepMC::FourVector &pos=HepMC::FourVector(0.0, 0.0, 0.0, 0.0), const int i=0)
Definition GenVertex.h:64
GenParticlePtr newGenParticlePtr(const HepMC::FourVector &mom=HepMC::FourVector(0.0, 0.0, 0.0, 0.0), int pid=0, int status=0)
Definition GenParticle.h:39

◆ populateGenEvent()

void Athena_test::populateGenEvent ( HepMC::GenEvent & ge,
int pdgid1,
int pdgid2,
std::vector< HepMC::GenParticlePtr > & genPartVector )

Definition at line 69 of file initMcEventCollection.cxx.

70 {
71 int maxBarcode = maximumBarcode(genPartList);
72 HepMC::FourVector myPos( 0.0, 0.0, 0.0, 0.0);
73 HepMC::GenVertexPtr myVertex = HepMC::newGenVertexPtr( myPos, -1 );
74 HepMC::FourVector fourMomentum1( 0.0, 0.0, 1.0, 1.0*CLHEP::TeV);
75 HepMC::GenParticlePtr inParticle1 = HepMC::newGenParticlePtr(fourMomentum1, pdgid1, 2);
76 myVertex->add_particle_in(inParticle1);
77 HepMC::FourVector fourMomentum2( 0.0, 0.0, -1.0, 1.0*CLHEP::TeV);
78 HepMC::GenParticlePtr inParticle2 = HepMC::newGenParticlePtr(fourMomentum2, pdgid2, 2);
79 myVertex->add_particle_in(inParticle2);
80 HepMC::FourVector fourMomentum3( 0.0, 1.0, 0.0, 1.0*CLHEP::TeV);
81 HepMC::GenParticlePtr inParticle3 = HepMC::newGenParticlePtr(fourMomentum3, pdgid1, 1);
82 myVertex->add_particle_out(inParticle3);
83 genPartList.push_back(inParticle3);
84 HepMC::FourVector fourMomentum4( 0.0, -1.0, 0.0, 1.0*CLHEP::TeV);
85 HepMC::GenParticlePtr inParticle4 = HepMC::newGenParticlePtr(fourMomentum4, pdgid2, 1);
86 myVertex->add_particle_out(inParticle4);
87 genPartList.push_back(inParticle4);
88 ge.add_vertex( myVertex );
89 HepMC::suggest_barcode(inParticle1,maxBarcode+1);
90 HepMC::suggest_barcode(inParticle2,maxBarcode+2);
91 HepMC::suggest_barcode(inParticle3,maxBarcode+3);
92 HepMC::suggest_barcode(inParticle4,maxBarcode+4);
94 ge.set_beam_particles(std::move(inParticle1),std::move(inParticle2));
95 }
int maximumBarcode(std::vector< HepMC::GenParticlePtr > &genPartList)
void set_signal_process_vertex(GenEvent *e, T v)
Definition GenEvent.h:670

◆ randf_seed()

float Athena_test::randf_seed ( uint32_t & seed,
float rmax,
float rmin = 0 )
inline

Generate a floating-point random number between rmin and rmax.

Definition at line 53 of file random.h.

54{
55 return static_cast<float>(rng_seed(seed)) / static_cast<float>(rngmax) * (rmax-rmin) + rmin;
56}
static const uint32_t rngmax
Maximum number generated.
Definition random.h:39

◆ randi_seed()

int Athena_test::randi_seed ( uint32_t & seed,
int rmax,
int rmin = 0 )
inline

Generate an integer random number between rmin and rmax.

Definition at line 61 of file random.h.

62{
63 return static_cast<int> (randf_seed (seed, rmax, rmin));
64}

◆ refCountTest()

void Athena_test::refCountTest ( void )

◆ referenceGaudiSymbols()

void Athena_test::referenceGaudiSymbols ( )

Definition at line 94 of file initGaudi.cxx.

95 {
96 ModuleLoadedIncident inc2 ("", "");
97 }

◆ resetableTest()

void Athena_test::resetableTest ( void )

◆ rng_seed()

uint32_t Athena_test::rng_seed ( uint32_t & seed)
inline

Generate a random number between 0 and rngmax.

Definition at line 44 of file random.h.

45{
46 seed = (1664525*seed + 1013904223);
47 return seed;
48}

◆ setupStoreGate()

bool Athena_test::setupStoreGate ( std::string progname,
std::string options_file = "" )

Helper for setting up StoreGate for regression tests.

Parameters
prognameProgram name (argv[0]).
options_fileName of the JO text file to read. If defaulted, one will be generated.

Get StoreGateSvc

Definition at line 28 of file setupStoreGate.cxx.

30{
31 // Build job options file if CppUnit_jobOptions.txt is unavailable
32 if (options_file.empty()) {
33 std::string::size_type pos = progname.rfind ("/");
34 if (pos != std::string::npos)
35 progname.erase (0, pos+1);
36 pos = progname.rfind (".");
37 if (pos != std::string::npos)
38 progname.erase (pos, std::string::npos);
39 options_file = "./" + progname + "_generated.txt";
40 (void)remove (options_file.c_str());
41 std::ofstream jobopt(options_file.c_str());
42
43 // Build a default list of options.
44 {
45 std::list<std::string> opts;
46 opts.push_back("#pragma print off");
47 opts.push_back("ApplicationMgr.Dlls += { \"StoreGate\" };");
48 //opts.push_back("ApplicationMgr.Dlls += { \"CLIDSvc\" };");
49 opts.push_back("ApplicationMgr.ExtSvc += { \"ClassIDSvc\" };");
50 opts.push_back("ApplicationMgr.ExtSvc += { \"StoreGateSvc\", \"StoreGateSvc/DetectorStore\", \"StoreGateSvc/ConditionStore\", \"StoreGateSvc/HistoryStore\" };");
51 opts.push_back("ApplicationMgr.ExtSvc += { \"ActiveStoreSvc\" };");
52 opts.push_back("AuditorSvc.Auditors += { \"AlgContextAuditor\"};");
53 opts.push_back("StoreGateSvc.OutputLevel = 2;");
54 opts.push_back("StoreGateSvc.ActivateHistory = false;");
55 //opts.push_back("CLIDSvc.OutputLevel = 2;");
56 opts.push_back("MessageSvc.useColors = false;");
57 opts.push_back("MessageSvc.OutputLevel = 3;");
58 // Build job options file from list.
59 for ( std::list<std::string>::const_iterator iopt=opts.begin();
60 iopt!=opts.end(); ++iopt )
61 {
62 jobopt << *iopt << std::endl;
63 }
64 }
65 jobopt.close();
66 }
67
68 try {
70 ISvcLocator* svcLoc = 0;
71 if (!Athena_test::initGaudi(options_file, svcLoc)) {
72 std::cerr << "This test can not be run" << std::endl;
73 return false;
74 }
75 assert( 0 != svcLoc);
76
77 SmartIF<StoreGateSvc> storeGate{svcLoc->service( "StoreGateSvc" )};
78 assert( storeGate );
79
80 if ( !storeGate ) {
81 std::string error = "No valid pointer to StoreGateSvc !!";
82 std::cerr << error << std::endl;
83 return false;
84 } else {
85 return true;
86 }
87 } catch ( std::exception& e ) {
88 std::cerr << "Caught : " << e.what() << std::endl;
89 return false;
90 }
91}

◆ test_symlink2()

void Athena_test::test_symlink2 ( StoreGateSvc & rSG)

◆ test_symlink3()

void Athena_test::test_symlink3 ( StoreGateSvc & rSG)

◆ testBoundReset()

void Athena_test::testBoundReset ( StoreGateSvc & rSG)

◆ testClear()

void Athena_test::testClear ( StoreGateSvc & rSG)

◆ testContains()

void Athena_test::testContains ( StoreGateSvc & rSG)

◆ testCreate()

void Athena_test::testCreate ( StoreGateSvc & rSG)

◆ testFolders()

void Athena_test::testFolders ( StoreGateSvc & rSG)

◆ testKeys()

void Athena_test::testKeys ( StoreGateSvc & rSG)

◆ testReadPrivateCopy()

void Athena_test::testReadPrivateCopy ( StoreGateSvc & rSG)

◆ testRecord()

void Athena_test::testRecord ( StoreGateSvc & rSG)

◆ testRecordObject()

void Athena_test::testRecordObject ( StoreGateSvc & rSG)

◆ testRemove()

void Athena_test::testRemove ( StoreGateSvc & rSG)

◆ testRetrieve()

void Athena_test::testRetrieve ( StoreGateSvc & rSG)

◆ testRetrieveAux()

void Athena_test::testRetrieveAux ( StoreGateSvc & rSG)

◆ testRetrievePrivateCopy()

void Athena_test::testRetrievePrivateCopy ( StoreGateSvc & rSG)

◆ testSymLink()

void Athena_test::testSymLink ( StoreGateSvc & rSG)

◆ testTransientSwap()

void Athena_test::testTransientSwap ( StoreGateSvc & rSG)

◆ testTryRetrieve()

void Athena_test::testTryRetrieve ( StoreGateSvc & rSG)

◆ testVersionedKey()

void Athena_test::testVersionedKey ( StoreGateSvc & rSG)

◆ testWriteAux()

void Athena_test::testWriteAux ( StoreGateSvc & rSG)

◆ varHandleTest()

void Athena_test::varHandleTest ( SGTest::TestStore & )

Variable Documentation

◆ allocs

std::unordered_set<void*>* Athena_test::allocs = nullptr

Definition at line 51 of file leakcheck.h.

◆ rngmax

const uint32_t Athena_test::rngmax = static_cast<uint32_t> (-1)
static

Maximum number generated.

Definition at line 39 of file random.h.

◆ seed

uint32_t Athena_test::seed = 1
static

Definition at line 88 of file random.h.