#ifndef _SiRDPScen #define _SiRDPScen ////////////////////////////////////////////////////////////////////////// // // // SiRDPScen // // // // Description of the scenario class // // // ////////////////////////////////////////////////////////////////////////// #include #include "TF1.h" #include "TMath.h" #include "TArray.h" #include "TArrayI.h" #include "TArrayF.h" #include "TGraph.h" #include #include #include "SiRDPTrap.h" class SiRDPScen : public TObject { private: TString Sel; //Selection string public: UInt_t Nstep; //number of scenario steps; UInt_t Niter; //number of iterations TArrayF et; //array of time segments TArrayF flu; //array of flux TArrayF temp; //array of temperatures TArrayF bias; //array of biases TArrayF step; //array of time resolution in diff. eq. solver TArrayS List; //array of links TArrayF Fluence;//fluence TArrayF Time; //fluence TClonesArray *Traps; void ListTraps(Bool_t=kFALSE); void AddTrap(SiRDPTrap *trap); Int_t AddTrapLinks(Int_t,Int_t,Int_t,Int_t); Int_t GetEntries() {return(Traps->GetEntries());} SiRDPScen(Char_t *scenario_name=0); ~SiRDPScen(); Int_t ReadScenario(Char_t *,Bool_t=0); void DoScenario(Int_t=1); void ShowLinks(); void DoStep(); void Set(Int_t); //operator definitions inline SiRDPTrap *operator()(Int_t idx) {return((SiRDPTrap *)Traps->At( idx ));}; inline SiRDPTrap *GetTrap(Int_t idx) {return((SiRDPTrap *)Traps->At( idx ));}; void Change(Int_t x,Int_t y) {GetTrap(x)->Nb=GetTrap(y)->Nb;} Int_t ReadTrapsFile(Char_t *filename); void Link(Int_t,Int_t,Int_t,Int_t); void Reset(); void Delete(); //void Select(); ClassDef(SiRDPScen,1) }; #endif