57 Bool_t ok_iter = (Opt ==
"OK");
78 : fParameters(
"EventParameters",
"Parameters associated with an event")
111 #if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0)
123 fParameters.Copy(((
KVEvent&)obj).fParameters);
124 for (
Int_t nn = 0; nn < fParticles->GetEntriesFast(); nn += 1) {
126 GetParticle(nn + 1)->Copy(*((
KVEvent&) obj).AddParticle());
148 return (
KVNucleus*)((*fParticles)[npart - 1]);
180 #ifdef __WITHOUT_TCA_CONSTRUCTED_AT
186 Error(
"AddParticle",
"Allocation failure, Mult=%d", mult);
206 if (strcmp(opt,
"")) {
229 cout <<
"\nKVEvent with " <<
GetMult(t) <<
" particles :" << endl;
230 cout <<
"------------------------------------" << endl;
263 if (!tmp)
Warning(
"GetParticle",
"Particle not found: %s", group_name);
328 for (; it !=
end(); ++it) {
336 for (; it !=
end(); ++it) {
374 for (; it !=
end(); ++it) {
382 for (; it !=
end(); ++it) {
419 for (; it !=
end(); ++it) {
427 for (; it !=
end(); ++it) {
460 for (; it !=
end(); ++it) {
468 for (; it !=
end(); ++it) {
494 if (A > 0)
return (
Int_t)
GetSum(
"IsIsotope",
"int,int",
Form(
"%d,%d", Z, A), opt);
527 unique_ptr<TObjArray> spec(species.
Tokenize(
", "));
528 Int_t nspec = spec->GetEntries();
529 memset(mult, 0, nspec *
sizeof(
Int_t));
531 for (
int i = 0; i < nspec; i++) {
532 if (((
TObjString*)(*spec)[i])->String() == (*it).GetSymbol()) mult[i] += 1;
595 Bool_t ok_iter = (Opt ==
"OK");
600 else if (grp_iter)
fIter =
Iterator(
this, Iterator::Type::Group, Opt);
607 return &(*(
fIter++));
672 if (
x == -1)
return 1;
720 (*it).AddGroup(groupname);
747 (*it).AddGroup(groupname, cond);
771 (*it).SetFrame(frame, ft);
802 (*it).SetFrame(newframe, oldframe, ft);
825 (*it).ChangeFrame(ft, name);
848 (*it).ChangeDefaultFrame(newdef, defname);
869 (*it).UpdateAllFrames();
881 void KVEvent::Streamer(
TBuffer& R__b)
898 #ifdef __WITHOUT_TCA_CONSTRUCTED_AT
929 TObject* obj = (*fParticles)[idx];
964 TObject* obj = (*fParticles)[idx];
966 obj->
Clear(clear_options);
1008 for (
Iterator it =
begin(); it !=
end(); ++it) mass[i++] = (*it).GetMass();
1023 for (
Iterator it =
begin(); it !=
end(); ++it) mass[i++] = (*it).GetMassGS();
1064 for (
int i = 1; i <=
M; i++) {
1105 for (
int i = 1; i <=
M; i++) {
1138 TString st = (*it).GetSymbol();
1145 if (pop == 1) partition += nvl.
GetNameAt(ii);
1147 if (ii < nvl.
GetEntries() - 1) partition +=
" ";
1149 return partition.
Data();
1180 e->ResetGetNextParticle();
1181 while ((
n =
e->GetNextParticle())) {
1230 (*it).SetFrameName(name);
#define KVEVENT_PART_INDEX_OOB
KVIonRangeTableMaterial * M
ClassImp(KVPartitionList) void KVPartitionList
Initialisation.
char * Form(const char *fmt,...)
virtual void Copy(TObject &) const
Make a copy of this object.
static TPluginHandler * LoadPlugin(const Char_t *base, const Char_t *uri="0")
void SetIsIterating(Bool_t on=kTRUE)
Bool_t IsIterating() const
PointerType * get_pointer() const
Base class container for multi-particle events.
KVNameValueList * GetParameters() const
Double_t GetGSChannelQValue() const
virtual void FillIntegerList(KVIntegerList *, Option_t *opt)
void ChangeDefaultFrame(const Char_t *, const Char_t *defname="")
void SetFrameName(const KVString &)
virtual void Copy(TObject &obj) const
Copy this to obj.
KVNameValueList fParameters
general-purpose list of parameters
virtual void Clear(Option_t *opt="")
Iterator GetNextParticleIterator(Option_t *opt) const
Int_t GetMultiplicity(Int_t Z, Int_t A=0, Option_t *opt="")
KVNucleus * GetParticle(Int_t npart) const
Iterator fIter
internal iterator used by GetNextParticle()
KVEvent(Int_t mult=50, const char *classname="KVNucleus")
Int_t GetMinimumOKMultiplicity() const
Double_t GetChannelQValue() const
void SetMinimumOKMultiplicity(Int_t)
void DefineGroup(const Char_t *groupname, const Char_t *from="")
TClonesArray * fParticles
array of particles in event
KVNucleus * AddParticle()
KVNucleus * GetParticleWithName(const Char_t *name) const
virtual void MergeEventFragments(TCollection *, Option_t *opt="")
void GetMultiplicities(Int_t mult[], const TString &species, Option_t *opt="")
virtual Int_t GetMult(Option_t *opt="") const
virtual void Print(Option_t *t="") const
KVNucleus * GetNextParticle(Option_t *opt="") const
void ChangeFrame(const KVFrameTransform &, const KVString &="")
void SetParameter(const Char_t *name, ValType value) const
void ResetGetNextParticle() const
Double_t GetSum(const Char_t *KVNucleus_method, Option_t *opt="")
const Char_t * GetPartitionName()
virtual void GetMasses(std::vector< Double_t > &)
Fill vector with mass of each nucleus of event (in MeV) [note: this is the mass including any excitat...
void FillHisto(TH1 *h, const Char_t *KVNucleus_method, Option_t *opt="")
virtual void GetGSMasses(std::vector< Double_t > &)
Fill vector with ground state mass of each nucleus of event (in MeV).
void SetFrame(const Char_t *frame, const KVFrameTransform &ft)
static KVEvent * Factory(const char *)
Create and return pointer to new event of class given by plugin.
Handle a list of positive integers (partition)
void Add(TArrayI *tab)
void Fill(Double_t* tab,Int_t mult);
void Clear(Option_t *option="")
Classe dérivée de TNamed, Reinitialisation de l'object.
void SetPopulation(Int_t pop)
Initialise la population à "pop".
Handles lists of named parameters with different types, a list of KVNamedParameter objects.
virtual void Print(Option_t *opt="") const
Int_t GetIntValue(const Char_t *name) const
void SetValue(const Char_t *name, value_type value)
virtual void Clear(Option_t *opt="")
const Char_t * GetNameAt(Int_t idx) const
void Merge(const KVNameValueList &)
Description of properties and kinematics of atomic nuclei.
Double_t GetMassGS() const
Handles particle selection criteria for data analysis classes ,.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=0)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
void * New(ENewType defConstructor=kClassNew, Bool_t quiet=kFALSE) const
virtual void Delete(Option_t *option="")
virtual void Clear(Option_t *option="")
TObject * ConstructedAt(Int_t idx)
virtual void Sort(Int_t upto=kMaxInt)
TClass * GetClass() const
virtual Int_t Fill(const char *name, Double_t w)
static const EReturnType kLong
void InitWithPrototype(const char *function, const char *proto, ROOT::EFunctionMatchMode mode=ROOT::kConversionMatch)
static const EReturnType kDouble
Int_t GetEntriesFast() const
virtual TObject * FindObject(const char *name) const
friend friend class TClonesArray
virtual void Clear(Option_t *="")
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual void Warning(const char *method, const char *msgfmt,...) const
virtual void Error(const char *method, const char *msgfmt,...) const
Longptr_t ExecPlugin(int nargs, const T &... params)
TObjArray * Tokenize(const TString &delim) const
const char * Data() const
auto All(const RVec< T > &v) -> decltype(v[0]==false)
Double_t Max(Double_t a, Double_t b)
KVEvent::Iterator begin() const