6 #include "KVNameValueList.h"
7 #include "TClonesArray.h"
74 #ifdef __WITHOUT_TCA_CONSTRUCTED_AT
75 TObject* ConstructedAt(Int_t idx)
90 TObject* obj = (*fParticles)[idx];
91 if (obj && obj->TestBit(TObject::kNotDeleted)) {
97 TObject* ConstructedAt(Int_t idx, Option_t* clear_options)
111 TObject* obj = (*fParticles)[idx];
112 if (obj && obj->TestBit(TObject::kNotDeleted)) {
113 obj->
Clear(clear_options);
121 KVEvent(
const TClass* particle_class, Int_t mult = 50)
122 :
fParticles(new TClonesArray(particle_class, mult)),
123 fParameters(
"EventParameters",
"Parameters associated with an event")
136 void Copy(TObject& obj)
const;
142 virtual Int_t
GetMult(Option_t* opt =
"")
const
184 virtual Double_t
GetSum(
const Char_t*, Option_t* =
"") = 0;
194 return (
GetParameters()->HasStringParameter(
"defaultFrame") ?
197 template<
typename ValType>
void SetParameter(
const Char_t* name, ValType value)
const
208 #define KVEVENT_MAKE_EVENT_BRANCH_NO_VOID_PTR 1
210 static void MakeEventBranch(TTree* tree,
const TString& branchname, T& event, Int_t bufsize = 10000000)
226 tree->Branch(branchname, event->ClassName(), &event, bufsize, 0)->SetAutoDelete(kFALSE);
232 TPluginHandler* ph =
LoadPlugin(
"KVEvent", plugin);
234 return (
KVEvent*)ph->ExecPlugin(0);
245 if (strcmp(opt,
"")) {
246 TString Opt = Form(
"C+%s", opt);
Base class for KaliVeda framework.
static TPluginHandler * LoadPlugin(const Char_t *base, const Char_t *uri="0")
Abstract base class container for multi-particle events.
KVNameValueList * GetParameters() const
virtual Double_t GetSum(const Char_t *, Option_t *="")=0
virtual KVParticle * GetParticle(Int_t npart) const =0
void Copy(TObject &obj) const
KVNameValueList fParameters
general-purpose list of parameters
KVNucleus * GetNucleus(Int_t npart) const
void Clear(Option_t *opt="")
virtual Double_t GetChannelQValue() const =0
static KVEvent * Factory(const char *plugin)
virtual void SetFrameName(const KVString &name)=0
virtual void ResetGetNextParticle() const =0
static void MakeEventBranch(TTree *tree, const TString &branchname, T &event, Int_t bufsize=10000000)
virtual void SetFrame(const Char_t *, const Char_t *, const KVFrameTransform &)=0
const Char_t * GetFrameName() const
virtual KVString GetPartitionName()=0
TClonesArray * fParticles
array of particles in event
virtual KVParticle * AddParticle()=0
virtual KVParticle * GetNextParticle(Option_t *="") const =0
virtual void SetFrame(const Char_t *, const KVFrameTransform &)=0
const TClonesArray * GetParticleArray() const
KVEvent(const TClass *particle_class, Int_t mult=50)
virtual void GetMasses(std::vector< Double_t > &)=0
KVNucleus * GetNextNucleus(Option_t *opt="") const
virtual void ChangeDefaultFrame(const Char_t *, const Char_t *="")=0
virtual Int_t GetMult(Option_t *opt="") const
void SetParameter(const Char_t *name, ValType value) const
void ResetGetNextNucleus() const
virtual void MergeEventFragments(TCollection *events, Option_t *opt="")
Handle a list of positive integers (partition)
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
void SetValue(const Char_t *name, value_type value)
virtual void Clear(Option_t *opt="")
Description of properties and kinematics of atomic nuclei.
Base class for relativistic kinematics of massive particles.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....