Universita' di GenovaINFN Sezione di Genova  
AIRWATCH / EUSO Genova

OpticsAnalysisModule - source file

// ESAF : Euso Simulation and Analysis Framework
// $Id: OpticsAnalysisModule.cc,v 1.11 2005/01/12 18:45:52 thea Exp $
// A.Thea, J.Watts created Mar, 15 2004

#include "OpticsAnalysisModule.hh"
#include "ScanPhotonsOnPupil.hh"
#include "TMath.h"
#include "Photon.hh"
#include "TFile.h"
#include "TTimeStamp.h"
#include "TBenchmark.h"
#include "PhotonsDatabaseBuilder.hh"
#include "PixelMapBuilder.hh"

ClassImp(OpticsAnalysisModule)

//______________________________________________________________________________
OpticsAnalysisModule::OpticsAnalysisModule(): SimuModule(string("OpticsAnalysis")) {
    // ctor

    fDoDatabase = kFALSE;
    fDoMap = kFALSE;
}

//______________________________________________________________________________
OpticsAnalysisModule::~OpticsAnalysisModule() {
    // dtor
}

//______________________________________________________________________________
 bool OpticsAnalysisModule::Init() {
    // Init method: called at the beginning of a run
    cout << GetName() << " Init() called" << endl;
   
    fDoDatabase = (Conf()->GetStr("OpticsAnalysisModule.fDoDatabase")== "yes");
    fDoMap = (Conf()->GetStr("OpticsAnalysisModule.fDoMap") == "yes");
    return kTRUE;
}

//______________________________________________________________________________
 bool OpticsAnalysisModule::PreProcess() {
    // called before each event process
    cout << GetName() << " PreProcess() called" << endl;

    return kTRUE;
}

//______________________________________________________________________________
 bool OpticsAnalysisModule::Process() {
    // event processing
    cout << GetName() << " Process() called" << endl;

    TBenchmark b;
    if ( fDoDatabase ) {
        b.Start("database");
        PhotonsDatabaseBuilder dbBuilder;
        dbBuilder.Go();
        b.Show("database");
    }

    if ( fDoMap ) {
        b.Start("pixelmap");
        
        PixelMapBuilder mapBuilder;

        mapBuilder.OpenRoot();
        mapBuilder.Go();
        mapBuilder.CloseRoot();
        b.Show("pixelmap");
    }
    return kTRUE;
}

//______________________________________________________________________________
 bool OpticsAnalysisModule::PostProcess() {
    // called after processing an event
    cout << GetName() << " PostProcess() called" << endl;
    return kTRUE;
}

//______________________________________________________________________________
 bool OpticsAnalysisModule::Done() {
    // called at the end of each run
    cout << GetName() << " Done() called" << endl;
    return kTRUE;
}
About Us | EUSO Official Website | Web pages created by Roberto Pesce and Alessandro Thea - Last Update 14-May-2005 21:31