VMC
Version 2.2
Toggle main menu visibility
Loading...
Searching...
No Matches
source
include
TMCTTreeWriter.h
Go to the documentation of this file.
1
#ifndef ROOT_TMCTTreeWriter
2
#define ROOT_TMCTTreeWriter
3
4
//------------------------------------------------
5
// The Geant4 Virtual Monte Carlo package
6
// Copyright (C) 2013 - 2018 Ivana Hrivnacova
7
// All rights reserved.
8
//
9
// For the licensing terms see geant4_vmc/LICENSE.
10
// Contact: root-vmc@cern.ch
11
//-------------------------------------------------
12
20
21
#include "
TMCVNtupleWriter.h
"
22
23
#include <TFile.h>
24
#include <TTree.h>
25
26
class
TMCTTreeWriter
:
public
TMCVNtupleWriter
{
27
public
:
28
TMCTTreeWriter
(
const
char
*storageName, TFile* file, Bool_t workerMode);
29
TMCTTreeWriter
() =
delete
;
30
virtual
~TMCTTreeWriter
() =
default
;
31
32
template
<
typename
T>
33
void
Register
(
const
char
*name, T *&obj);
34
void
Register
(
const
char
*name,
const
char
*className,
void
*objAddress);
35
void
Register
(
const
char
*name,
const
char
*className,
const
void
*objAddress);
36
37
// Standard virtual interface for the rest of the lifecycle
38
virtual
void
CreateRNTuple
()
override
{}
39
virtual
void
Fill
()
override
;
40
virtual
void
WriteAll
()
override
;
41
virtual
void
Close
()
override
{}
42
virtual
void
ReadEvent
(Int_t i)
override
;
43
44
private
:
45
TTree*
fTree
{
nullptr
};
46
};
47
48
#include <iostream>
49
50
template
<
typename
T>
51
void
TMCTTreeWriter::Register
(
const
char
*brname, T *&obj)
52
{
53
if
(!
fTree
)
return
;
54
55
fFile
->cd();
56
if
(!
fTree
->GetBranch(brname)) {
57
std::cout <<
"Create branch "
<< brname << std::endl;
58
fTree
->Branch(brname, &obj, 32000, 99);
59
}
60
else
61
fTree
->GetBranch(brname)->SetAddress(&obj);
62
}
63
64
#endif
// ROOT_TMCTTreeWriter
TMCVNtupleWriter.h
Definition of the TMCVNtupleWriter class.
TMCTTreeWriter::ReadEvent
virtual void ReadEvent(Int_t i) override
Definition
TMCTTreeWriter.cxx:110
TMCTTreeWriter::CreateRNTuple
virtual void CreateRNTuple() override
Definition
TMCTTreeWriter.h:38
TMCTTreeWriter::~TMCTTreeWriter
virtual ~TMCTTreeWriter()=default
TMCTTreeWriter::TMCTTreeWriter
TMCTTreeWriter()=delete
TMCTTreeWriter::Close
virtual void Close() override
Definition
TMCTTreeWriter.h:41
TMCTTreeWriter::fTree
TTree * fTree
Definition
TMCTTreeWriter.h:45
TMCTTreeWriter::WriteAll
virtual void WriteAll() override
Definition
TMCTTreeWriter.cxx:102
TMCTTreeWriter::Register
void Register(const char *name, T *&obj)
Definition
TMCTTreeWriter.h:51
TMCTTreeWriter::TMCTTreeWriter
TMCTTreeWriter(const char *storageName, TFile *file, Bool_t workerMode)
Definition
TMCTTreeWriter.cxx:29
TMCTTreeWriter::Fill
virtual void Fill() override
Definition
TMCTTreeWriter.cxx:94
TMCVNtupleWriter::fFile
TFile * fFile
Definition
TMCVNtupleWriter.h:38
TMCVNtupleWriter::TMCVNtupleWriter
TMCVNtupleWriter(const char *storageName, TFile *file, Bool_t workerMode)
Definition
TMCVNtupleWriter.h:25
Generated on
for VMC by
1.17.0