31 # pragma warning( disable : 1572 ) 53 m_ntupleSvc = serviceLocator()->service(
"NTupleSvc" );
83 TTree* rtree = (TTree*)rAddr->
tObj();
86 unsigned long* info = (
unsigned long*)pAddress->
ipar();
87 setDirectory( pAddress->
par()[0] );
88 status = readData( rtree, dynamic_cast<INTuple*>( pObject ), info[1]++ );
109 StatusCode status = readObject( pAddress, refpObject );
111 RootObjAddress* rAddr = dynamic_cast<RootObjAddress*>( pAddress );
117 TTree* tobj = (TTree*)rAddr->
tObj();
118 status = load( tobj, nt );
120 refpObject = dynamic_cast<DataObject*>( nt );
143 StatusCode status = dataMgr->objectParent( pReg, pParentReg );
147 TDirectory* pParentDir = (TDirectory*)pParAddr->
ipar()[0];
149 TTree* pTree =
nullptr;
151 gDirectory = pParentDir;
152 status =
book( dsc, dynamic_cast<INTuple*>( pObject ), pTree );
153 if ( !status.
isSuccess() ) {
return status; }
154 status = createAddress( pObject, gDirectory, pTree, pAddr );
155 if ( !status.
isSuccess() ) {
return status; }
156 return writeData( pTree, dynamic_cast<INTuple*>( pObject ) );
162 TDirectory* pDir = (TDirectory*)pAddr->
ipar()[0];
169 TTree* pTree = (TTree*)rAddr->
tObj();
171 return writeData( pTree, dynamic_cast<INTuple*>( pObject ) );
188 TDirectory* pDir = (TDirectory*)pAddr->
ipar()[0];
194 TTree* pTree = (TTree*)rAddr->
tObj();
195 if ( pDir && pTree ) {
196 gDirectory->cd( pDir->GetPath() );
197 pTree->Write(
"", TObject::kOverwrite );
202 return createRep( pObj, pAddr );
249 if ( (
sp = full.find(
"/" ) ) != -1 ) {
250 blk = full.substr( 0,
sp );
251 var = full.substr(
sp + 1 );
263 #define INSTANTIATE( TYP ) \ 264 template INTupleItem* createNTupleItem<TYP>( std::string itemName, std::string blockName, std::string index_name, \ 265 int indexRange, int arraySize, TYP minimum, TYP maximum, \ 275 if ( blockName !=
"" ) {
276 varName = blockName +
"/" + itemName;
284 if (
min == 0 &&
max == 0 ) {
289 if ( indexName ==
"" ) {
291 if ( arraySize == 1 ) {
302 if ( arraySize == 1 ) {
virtual const std::string * par() const =0
Retrieve String parameters.
Definition of the MsgStream class used to transmit messages.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
IRegistry * registry() const
Get pointer to Registry.
GAUDI_API AIDA::IHistogram1D * book(IHistogramSvc *svc, const std::string &path, const Gaudi::Histo1DDef &hist)
helper function to book 1D-histogram
virtual TObject * tObj() const
Retrieve TObject* ptr.
RNTupleCnv(ISvcLocator *svc, const CLID &clid)
Standard constructor.
StatusCode updateRep(IOpaqueAddress *pAddr, DataObject *pObj) override
Update the converted representation of a transient object.
bool parseName(const std::string &full, std::string &blk, std::string &var)
EventIDBase min(const EventIDBase &lhs, const EventIDBase &rhs)
StatusCode initialize() override
Initialize the converter.
static TYP min()
Minimal number of data.
constexpr static const auto SUCCESS
StatusCode initialize() override
Initialize the converter.
virtual const name_type & name() const =0
Name of the directory (or key)
EventIDBase max(const EventIDBase &lhs, const EventIDBase &rhs)
StatusCode finalize() override
Finalize the converter.
static _Array * create(INTuple *tup, const std::string &name, const std::type_info &info, const std::string &index, long len, TYP min, TYP max, TYP def)
Create instance.
NTuple interface class definition.
StatusCode finalize() override
Initialize the converter.
NTuple interface class definition.
virtual IRegistry * registry() const =0
Update branch name.
StatusCode updateObj(IOpaqueAddress *pAddr, DataObject *refpObj) override
Update the transient object from the other representation.
This class is used for returning status codes from appropriate routines.
static TYP max()
Maximal number of data.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
unsigned int CLID
Class ID definition.
virtual IOpaqueAddress * address() const =0
Retrieve opaque storage address.
constexpr static const auto FAILURE
INTupleItem * createNTupleItem(std::string itemName, std::string blockName, std::string indexName, int indexRange, int arraySize, TYP min, TYP max, INTuple *ntup)
Add an item of a given type to the N tuple.
virtual const id_type & identifier() const =0
Full identifier (or key)
static _Item * create(INTuple *tup, const std::string &name, const std::type_info &info, TYP min, TYP max, TYP def)
Create instance.
Opaque address interface definition.
A DataObject is the base class of any identifiable object on any data store.
virtual const unsigned long * ipar() const =0
Access to generic link parameters.
StatusCode createRep(DataObject *pObj, IOpaqueAddress *&refpAddr) override
Convert the transient object to the requested representation.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
StatusCode createObj(IOpaqueAddress *pAddr, DataObject *&refpObj) override
Create the transient representation of an object.
static _Matrix * create(INTuple *tup, const std::string &name, const std::type_info &info, const std::string &index, long ncol, long nrow, TYP min, TYP max, TYP def)
Create instance.
virtual std::string rootVarType(int)
Return ROOT type info: