GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Gw::GEM Class Reference

Class to get randomly cascades (with lateral feeding) of gammas on the basis of a level scheme. More...

#include <GEM.h>

Inheritance diagram for Gw::GEM:

Public Types

enum  EDirection { kDown, kUp }
 

Public Member Functions

 ClassDef (GEM, 0)
 rootcint dictionary More...
 
 ClassDef (BaseGEM, 0)
 Fill the histogram with a random distribution corresponding to the first selected Link. More...
 
virtual void Clear (Option_t *opt="all")
 Clear everything. More...
 
virtual Int_t DoCascade (TSeqCollection &, Option_t *opt="")
 starting point in the ExI plan from which starts the gamma-ray emission More...
 
virtual Int_t DoCascade (TSeqCollection &cas, Int_t from, Option_t *opt="")
 cascade simulation with the 'entry point' given by the user More...
 
virtual Int_t DoCascade (TSeqCollection &cascade, TSeqCollection &directions, Option_t *opt="")
 cascade simulation with angular distributions More...
 
virtual Int_t DoCascade (TSeqCollection &cas, TSeqCollection &directions, Int_t from, Option_t *opt="")
 
 GEM ()
 to be called to init the random generator More...
 
const TObjArray & GetFeedings () const
 To get all the entry point in this level scheme with their intensities. More...
 
const LevelSchemeGetLS () const
 To set the intensity of the lowest link of the level scheme. More...
 
virtual Int_t Import (const Char_t *, Option_t *opt="152DY")
 Load the level scheme and init the Monte-Carlo. More...
 
virtual void SetDirection (EDirection d=kDown)
 To determine the order of the simulate cascade. More...
 
void SetExI (Float_t E, Float_t I)
 starting point in the ExI plan from which starts the gamma-ray emission More...
 
LinkSetFeeding (const char *feedingtype="TestFeeding")
 
LinkSetFeeding (Link *newfeeding)
 to modify the current feeding link (general one) More...
 
Bool_t SetParameter (const char *name, Int_t value)
 to set some parameters that modify the way the simulation is performed. return false is the parameter is not known More...
 
Bool_t SetParameter (const char *name, Double_t value)
 
virtual ~GEM ()
 

Protected Member Functions

virtual void DoAngularDistribution (Int_t which_gamma, TLorentzVector &, Bool_t forceiso=false)
 
virtual void InitRandom ()
 to be called to init the random generator More...
 

Protected Attributes

Int_t fADType
 
Double_t fCutLifeTime
 
Int_t fDirection
 
Double_t fMinEnergyFactor
 
Double_t fSigma
 

Detailed Description

Class to get randomly cascades (with lateral feeding) of gammas on the basis of a level scheme.

With BaseGEM, cascades are determined randomly in a level scheme. The produced cascade ends with the first populated link (level) which is the entry point in the level scheme. It should be enought for some experiment (beta decay experiment), but in several cases (fusion-evaporation), the lateral feeding produces gamma-rays which can be also simulated by many different models.

This class is designed to help in this kind of situation. After the BaseGEM random process, it calls the feeding process which is just a particular Link which has its own DoCascade member.
To set the feedink link, use the SetFeeding member. Unless removed, the link belongs to GEM and will be deleted in the destructor. In the demos directory, there is an exemple of how to write a feeding link (see TestFeeding).

Todo:
initialisation with a existing level scheme by copying it (copy constructor for level scheme)
Todo:
Check out what happens when a link is not bind to two levels
Author
Olivier Stezowski

Definition at line 55 of file GEM.h.


The documentation for this class was generated from the following files: