BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
GenAccessIO.h
Go to the documentation of this file.
1//
2#ifndef TRUTHHELPER_GENACCESSIO_H
3#define TRUTHHELPER_GENACCESSIO_H
4// STL
5#include "GaudiKernel/Bootstrap.h"
6#include "GaudiKernel/DataObject.h"
7#include "GaudiKernel/ISvcLocator.h"
8#include "GaudiKernel/ObjectVector.h"
9#include <string>
10// StoreGate
11#include "StoreGate/StoreGateSvc.h"
12// #include "StoreGate/DataHandle.h"
13
14#include "GeneratorObject/McEventCollection.h"
15#include "HepMC/GenParticle.h"
16#include <vector>
17typedef std::vector<const HepMC::GenParticle*> MCparticleCollection;
18typedef std::vector<const HepMC::GenParticle*>::const_iterator MCparticleCollectionCIter;
19
20class GenIMCselector;
21
23public:
24 typedef std::string String;
25 //
27 StatusCode getMC( MCparticleCollection& ) const;
28 StatusCode getMC( MCparticleCollection&, const GenIMCselector* ) const;
29 //
30 StatusCode getDH( const McEventCollection*& ) const;
31 StatusCode getDH( const McEventCollection*&, String key ) const;
32 StatusCode store( McEventCollection* ) const;
33 StatusCode store( McEventCollection*, String key ) const;
34
35private:
36 // IDataProviderSvc* m_dataSvc;
37 StoreGateSvc* m_sgSvc;
38};
39
40inline GenAccessIO::GenAccessIO() : m_sgSvc( 0 ) {
41 ISvcLocator* svcLoc = Gaudi::svcLocator();
42 if ( ( svcLoc->service( "StoreGateSvc", m_sgSvc ) ).isFailure() )
43 { throw StatusCode::FAILURE; }
44}
45
46inline StatusCode GenAccessIO::getDH( const McEventCollection*& dh ) const {
47 if ( ( m_sgSvc->retrieve( dh ) ).isFailure() ) { return StatusCode::FAILURE; }
48 return StatusCode::SUCCESS;
49}
50
51inline StatusCode GenAccessIO::getDH( const McEventCollection*& dh, String key ) const {
52 if ( ( m_sgSvc->retrieve( dh, key ) ).isFailure() ) { return StatusCode::FAILURE; }
53 return StatusCode::SUCCESS;
54}
55
56inline StatusCode GenAccessIO::store( McEventCollection* pObject ) const {
57 return ( m_sgSvc->record( pObject ) );
58}
59
60inline StatusCode GenAccessIO::store( McEventCollection* storee, String key ) const {
61 return ( m_sgSvc->record( storee, key ) );
62}
63
64#endif
std::vector< const HepMC::GenParticle * > MCparticleCollection
Definition GenAccessIO.h:17
std::vector< constHepMC::GenParticle * >::const_iterator MCparticleCollectionCIter
Definition GenAccessIO.h:18
*************DOUBLE PRECISION m_pi *DOUBLE PRECISION m_HvecTau2 DOUBLE PRECISION m_HvClone2 DOUBLE PRECISION m_gamma1 DOUBLE PRECISION m_gamma2 DOUBLE PRECISION m_thet1 DOUBLE PRECISION m_thet2 INTEGER m_IFPHOT *COMMON c_Taupair $ !Spin Polarimeter vector first Tau $ !Spin Polarimeter vector second Tau $ !Clone Spin Polarimeter vector first Tau $ !Clone Spin Polarimeter vector second Tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !phi of HvecTau1 $ !theta of HvecTau1 $ !phi of HvecTau2 $ !theta of HvecTau2 $ !super key
Definition Taupair.h:42
std::vector< const HepMC::GenParticle * > MCparticleCollection
Definition TruthDemo.cxx:36
std::string String
Definition GenAccessIO.h:24
StatusCode getMC(MCparticleCollection &) const
StatusCode getDH(const McEventCollection *&) const
Definition GenAccessIO.h:46
StatusCode store(McEventCollection *) const
Definition GenAccessIO.h:56