/* ======================================================================== *\ ! ! * ! * This file is part of MARS, the MAGIC Analysis and Reconstruction ! * Software. It is distributed to you in the hope that it can be a useful ! * and timesaving tool in analysing Data of imaging Cerenkov telescopes. ! * It is distributed WITHOUT ANY WARRANTY. ! * ! * Permission to use, copy, modify and distribute this software and its ! * documentation for any purpose is hereby granted without fee, ! * provided that the above copyright notice appear in all copies and ! * that both that copyright notice and this permission notice appear ! * in supporting documentation. It is provided "as is" without express ! * or implied warranty. ! * ! ! ! Author(s): Harald Kornmayer 1/2001 (harald@mppmu.mpg.de) ! Author(s): Thomas Bretz 12/2000 (tbretz@uni-sw.gwdg.de) ! ! Copyright: MAGIC Software Development, 2000-2001 ! ! \* ======================================================================== */ #include "MViewAdcSpectra.h" #include #include "MParList.h" #include "MTaskList.h" #include "MEvtLoop.h" #include "MRawRunHeader.h" #include "MRawEvtHeader.h" #include "MRawEvtData.h" #include "MRawCrateArray.h" #include "MTime.h" #include "MReadTree.h" #include "MDumpEvtHeader.h" #include "MFillHFadc.h" #include "MShowSpect.h" #include "MHFadcCam.h" ClassImp(MViewAdcSpectra); // ================================================================================ // // default constructor // MViewAdcSpectra::MViewAdcSpectra() { fHistosAdc = new MHFadcCam; } // ================================================================================ // // default destructor // MViewAdcSpectra::~MViewAdcSpectra() { delete fHistosAdc; } // ================================================================================ // // This job reads in the FADC data from all events and fills // the spectrum for each pmt pixel. // Bool_t MViewAdcSpectra::AdcSpectra(Char_t *inputfile, Char_t *treeName) { cout << "MViewAdcSpectra:: Analyse the tree '" << treeName << "'"; cout << "in the file '" << inputfile << "'" << endl; // // create a (empty) list of parameters which can be used by the tasks // and an (empty) list of tasks which should be executed // connect them in the required way. // // // create the data containers for the raw data // MParList plist; MRawRunHeader runheader; plist.AddToList(&runheader); MRawEvtHeader evtheader; plist.AddToList(&evtheader); MRawEvtData evtdata; plist.AddToList(&evtdata); MRawCrateArray cratearray; plist.AddToList(&cratearray); MTime evttime("MTime"); plist.AddToList(&evttime); plist.AddToList(fHistosAdc); // // set up the tasks for this job // MTaskList tasks; plist.AddToList(&tasks); MReadTree readin(treeName, inputfile); tasks.AddToList(&readin); // // MDumpEvtHeader *dumpheader = new MDumpEvtHeader() ; // tasks->AddToList( dumpheader ) ; // MFillHFadc fillspect; tasks.AddToList(&fillspect); MShowSpect showspect("MHFadcCam"); tasks.AddToList(&showspect); // // set up the loop for the processing // MEvtLoop magic; magic.SetParList(&plist); // // start the loop running // magic.Eventloop(); return kTRUE; }