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

Interface to read/decode EvapOR List Mode Output Files (so-called .pax files) More...

#include <EvapLMOF.h>

Public Types

enum  Status { kEmpty, kGood, kEoE, kFail }
 Reading status. More...
 

Public Member Functions

void AddFile (const char *fname)
 to add an input (pax) file More...
 
 EvapLMOF ()
 
const DATA & GetData ()
 To get the current data structure. More...
 
TString & GetError ()
 To get the last error. More...
 
const std::vector< Double_t > & GetEventsRead ()
 it returns an array with the number of events read from all the input files More...
 
const GLOBAL & GetGlobal ()
 To get the current global structure. More...
 
const ID & GetId ()
 To get the current id structure. More...
 
const KINMAT & GetKin ()
 To get the current kinematic structure. More...
 
TLeaf * GetLeaf (const char *leafname="no")
 To get a ROOT leaf corresponding to one of the variable. More...
 
TString & GetWarning ()
 To get the last warning. More...
 
Bool_t NextEvent (UInt_t next=0)
 To load the next event. More...
 
void NextFile ()
 switch to next file. More...
 
EvapLMOFoperator<< (EvapLMOF &(*pf)(EvapLMOF &))
 to modified the reading More...
 
void Rewind ()
 To restart the data stream from the beginning. More...
 
void Scan (UInt_t start=0, UInt_t end=10)
 To scan events and show them on the standard output. More...
 
void SetPath (const char *path="./")
 set the directory where to find the input files More...
 
void ShowCurrentConditions (std::ostream &out=std::cout)
 The current status is shown on the standard ouptut. More...
 
void ShowCurrentEvent (std::ostream &out=std::cout)
 The show the content of the current event on the standard ouput. More...
 
 ~EvapLMOF ()
 

Static Public Attributes

static const Short_t MAXCASCADE = 200
 
static const Short_t MAXPARTICLES = 12
 
static Short_t VERBOSE = 0
 Set verbosity level. More...
 

Friends

EvapLMOFfull (EvapLMOF &reader)
 
EvapLMOFidonly (EvapLMOF &reader)
 

Detailed Description

Interface to read/decode EvapOR List Mode Output Files (so-called .pax files)

In the evapoOR input file, the PAX keyword controls the production of files in which are stored details about the full cascades on an event by event bases. This interface helps you to read these files. A tar file of the evapOR package is available with a global makefile to build it. Just ask for it at agata.nosp@m._@_i.nosp@m.pnl.i.nosp@m.n2p3.nosp@m..fr (remove _ in the email address). It has been compiled successfully on Sun station (with the Sun f77 fortran compiler) and on Linux SL4 (with the Intel ifort fortran compiler). Unfortunatelly, it cannot be compiled with g77 or gfortran.

Four output structures are filled event by event which correspond to the four common blocks as explained in the "playback common blocks" section of the evapoOR documentation (section A.6). The name of the variables are identical and their signification is reported here.

struct GLOBAL {
Int_t AC; // A of initial compound system
Int_t ZC; // Z of initial compound system
Int_t NCASC; // total number of cascades
Int_t MDIR; // Defines coordinate system.
Int_t JCASC; // total number of casc. with weight >0
Float_t ENER; // E* of initial compound system
Float_t SIGMA; // Total CN formation cross section
Float_t VRC; // CN velocity
Int_t MAX_P; // number of particle decay channels
};
struct ID {
Short_t MG; // gamma multiplicity
Float_t EE; // entry state energy
Float_t JE; // entry state spin
Float_t L; // CN initial angular momentum
Short_t Z; // final nucleus Z
Short_t N; // final nucleus neutron number
Short_t NUM; // number of emissions
Float_t WT; // weight of this cascade.
Bool_t FIS; // true if the cascade ends up by fission
};
struct DATA {
Short_t MODE[MAXCASCADE]; // emission type (1=n, 2=p, 3=4He, etc)
Float_t EI[MAXCASCADE]; // excitation energy of initial state
Float_t EP[MAXCASCADE]; // particle E in CN rest frame
Short_t JI[MAXCASCADE]; // initial spin (j or j-1/2)
Short_t LP[MAXCASCADE]; // orbital ang. mom. of emitted particle
Short_t MP[MAXCASCADE]; // projection of L on quantization axis
Short_t MUL[MAXPARTICLES]; // multiplicity of mode j
Float_t ES[MAXPARTICLES]; // total energy of mode j (sum of Kinetic E)
Float_t DJ[MAXPARTICLES]; // total spin change for mode j
};
struct KINMAT {
Float_t V0[3]; // CN three momentum (k=1,3) ("lab")
Float_t VE[MAXCASCADE][3]; // emitted particle 3 momentum ("lab")
Float_t THETA[MAXCASCADE]; // emission angle
Float_t PHI[MAXCASCADE]; // emission angle
Short_t ZB; // Z of emitting nucleus
Short_t AB; // A of " "
Float_t ER; // recoil energy (CN) ("lab")
Float_t EEJ[MAXCASCADE]; // energy of emitted particle ("lab")
Float_t JF[MAXCASCADE]; // final angular momentum
};

Several pax files could be chained (see SetPath & AddFile). Once initialized, the chain is processed with NexEvent() that returns true if a new event is available. Rewind allows to restart the reading while Scan just displays on the standard output the content of each event.

This interface takes care of the endian type so that you can generate your pax file on any machine and process them with EvapLMOF on any machine.

Author
Olivier Stezowski

Definition at line 90 of file EvapLMOF.h.


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