(UNKNOWN PRODUCT) » INCLUDE » PUtils

class PUtils: public TObject

  Pluto Utilities Class

  This is a static class containing utility functions.

                             Author:  M.A. Kagarlis
                             Written: 15.12.98
                             Revised: 15.06.00

 Ref 1: CERNLIB function FLPSOR, R.S. Scowen, Algorithm 271 QUICKERSORT,
        Collected Algorithms from CACM (1965) (sorting function dsort)
 Ref 2: D.M. Brink and G.R. Satchler, Angular Momentum, Oxford Library (1961)

Function Members (Methods)

public:
virtual~PUtils()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static Double_tcgc(const int&, const int&, const int&, const int&, const int&)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
static voidcorrect(TH1* histo)
static voidcorrect_histo(TH1* histo)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
static voiddsort(Double_t*, int)
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
static Int_tFindIndex(Int_t n, Double_t* a, Double_t r)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
static Bool_tIsInt(const char* name)
Bool_tTObject::IsOnHeap() const
static voidisort(int* i, int n)
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
static char*NewString(const char* var)
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
PUtils&operator=(const PUtils&)
PUtils&operator=(PUtils&&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
PUtils()
PUtils(PUtils&&)
PUtils(const PUtils&)
static Double_tracah(const int&, const int&, const int&, const int&, const int&, const int&)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
static Int_tremove_brackets(char** partc, char a, char b)
static voidremove_spaces(char** partc)
voidTObject::ResetBit(UInt_t f)
static Double_ts3j(const Double_t&, const Double_t&, const Double_t&, const Double_t&, const Double_t&, Double_t m3 = 0.)
static Double_ts6j(const Double_t&, const Double_t&, const Double_t&, const Double_t&, const Double_t&, const Double_t&)
static Int_tsampleBinomial(Int_t ntot, Float_t prob)
static Double_tsampleBW(Double_t c, Double_t g)
static Double_tsampleFlat()
static Double_tsampleGaus(Double_t c, Double_t s)
static intsamplePoisson(Double_t mean)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
static voidSetSeed(UInt_t s)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static Bool_tTokenize(const char* options, const char* delimiter, char** array, int* size)
virtual voidTObject::UseCurrentStyle()
static Bool_tValidVariableName(const char* name, unsigned int len = 0)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
static Double_tj123(const int&, const int&, const int&)
static Double_tphasef(const int& n)

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void correct_histo(TH1* histo)
void correct(TH1* histo)
void dsort(Double_t* , int )
 Sort in ascending order the first n entries of the array *a.
Double_t cgc(const int& , const int& , const int& , const int& , const int& )
 Clebsch-Gordan coefficients (arguments are 2x the corresponding j and m)
Double_t s3j(const Double_t& , const Double_t& , const Double_t& , const Double_t& , const Double_t& , Double_t m3 = 0.)
 3j-symbol, related to Clebsch-Gordan coefficient
Double_t racah(const int& , const int& , const int& , const int& , const int& , const int& )
 Racah coefficients (arguments are 2 x j or m)
Double_t s6j(const Double_t& , const Double_t& , const Double_t& , const Double_t& , const Double_t& , const Double_t& )
 6j-symbol, related to Racah coefficient
Double_t j123(const int& , const int& , const int& )
 used by Racah
Int_t FindIndex(Int_t n, Double_t* a, Double_t r)
 return index i of first element a[i] which is larger than r.
 a[] is assumed to be sorted in ascending order
Bool_t Tokenize(const char* options, const char* delimiter, char** array, int* size)
Tokenize the string "options" using
the "delimiter"
(like "+" or ",")
The char array is constructed but never deleted
in addition, any spaces before and after the delimiter are cleaned
-> for setup phase, but not for event loops
The user has to provide the pointer to the char array pointers
with "size", these pointers are updated
In addition, the size is also updated

The ROOT version is buggy:
TString spattern("a - b -> c");
TObjArray *carray = spattern.Tokenize(TString("->"));
carray->GetEntriesFast()
(const Int_t)3
void remove_spaces(char** partc)
Int_t remove_brackets(char** partc, char a, char b)
remove matching brackets like a=(, b=)
cout << "in: " << *partc << endl;
Bool_t ValidVariableName(const char* name, unsigned int len = 0)
We check if "name" is a variable name
or a possible command
Allowed names for variables is alphanumeric + "_"
First char must be alpha or "#"
Bool_t IsInt(const char* name)
We check if "name" is an integer variable name
Double_t sampleFlat()
 Samples uniformly between 0 and 1
Double_t sampleGaus(Double_t c, Double_t s)
 Samples from a Gaussian distribution
Int_t samplePoisson(Double_t mean)
 Samples from a Poisson distribution
Int_t sampleBinomial(Int_t ntot, Float_t prob)
 Samples from a binomial distribution
Double_t sampleBW(Double_t c, Double_t g)
 Samples from a Breit Wigner distribution
void SetSeed(UInt_t s)
PUtils()
void isort(int* i, int n)
 Sort in ascending order the first (int) entries of the array (Double_t *).
 Adapted from Ref 1
char * NewString(const char* var)
Double_t phasef(const int& n)
 (-1)**n
{ return 1.- 2.*(abs(n)%2); }