//////////////////////////////////// // KRATTA IDENTYFICATION AND CALIBRATION Task // for the Asy-Eos experiment // TKratCalib DECLARATION // Feb 2013 // revison 02/2013 // E.d.F ver 1.0 // sebastian.kupny@uj.edu.pl // Changes: // // Status: // [2013-03-21] The task works, but there is a memory leak, the bug is not fixed, // because I'm waiting for finish the energy calibration by Jersy // [2013-12-03] Task is working without any memory leak. //////////////////////////////////// #ifndef KRATTA_DST_TASK_TEMPLATE_H #define KRATTA_DST_TASK_TEMPLATE_H #include #include "TClonesArray.h" #include "TF1.h" #include "TGraph.h" #include "TLine.h" #include "TMarker.h" #include "FairRootManager.h" #include "FairRunAna.h" #include "FairRuntimeDb.h" #include "FairTask.h" #include "mktreeraw.h" #include "mktreedstchain_sct_fitABC.h" #include "Swiatowid.hxx" #include "KRATTAene.hxx" #include "TRootKRATEvent.h" class TKratCalib : public FairTask { public: /** Default constructor **/ TKratCalib(); /** Constructor **/ TKratCalib (const char* name, Int_t iVerbose = 1); TKratCalib(Int_t verbose); /** Destructor **/ ~TKratCalib(); /** Virtual method Init **/ virtual InitStatus Init(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); virtual void Finish(); virtual void Reset(); void SetVerboseLevel( Int_t verbose ) { fVerbose = verbose; } Int_t GetVerboseLevel( void ) { return fVerbose; } /// KRATTA_IN void SetKratContInName( TString ASYEventName ){ fKratContInName = ASYEventName; } TString GetKratContInName( void ) const { return fKratContInName; } /// KRATTA_OUT void SetKratContOutName( TString KratContOutName ){ fKratContOutName = KratContOutName; } TString GetKratContOutName( void ) const { return fKratContOutName; } /// DOES WRITE OUTPUT DATA CONTAINER TO THE FILE void SaveOutputIntoTree(Bool_t saveOutputToTree = kTRUE){ fSaveOutputToTree = saveOutputToTree; } Bool_t DoesSaveOutputIntoTree( void ){ return fSaveOutputToTree; } //void SetASYEventName( TString ASYEventName ){ // fASYEventName = ASYEventName; //} //TString GetASYEventName( void ) const { // return fASYEventName; //} protected: ASYEvent *fASYEvent; //TString fASYEventName; TString fKratContInName; // KRATTA input data container TString fKratContOutName; // KRATTA output data container TClonesArray *fASYEventCopy; TClonesArray *fKrattaAsyPeakClonesArray; ASYFadcPeak *krattaPt; Int_t fPeaksNo; /// Calibration private: TKratCalib(const TKratCalib&); TKratCalib& operator=(const TKratCalib&){ return *this; } virtual void SetParContainers(); void PrintDebugInfo( Int_t module, Int_t PidLimit, ASYFadcPeak *peak, TRootKRATEvent *kevt, TRootKRATParticle *kp); /// Objects and structures needed for indentyfication and calibration Swiatowid fSwiatowid; // Identyfication algorithm for kratta events (oryginal name: S) KrattaEne *fKene; // Calibration algorithm for kratta events (oryginal name: kene) Target *fTgt; // Datastructure used by class KrattaEne (oryginal name: tgt = kene->tgt;) TRootKRATEvent *fRootKRATEvent; // Datacontainer with calibrated KRATTA events. (result of this task) TClonesArray *fRootKRATEventCopy; Bool_t fSaveOutputToTree; // Flag which tels whtether the fRootKRATEventCopy // will be stored in analysis output file ClassDef(TKratCalib,1); }; #endif ///KRATTA_DST_TASK_TEMPLATE_H