BRAT 2.4.5
Class index
Full class index
brahmlib
BRAHMS
ROOT page
//____________________________________________________________________
// 
// Base class for a Cherenkov calibration module  
// Register the parameter element in the manager at init time
//

//____________________________________________________________________
//
// $Id: BrChkvCalModule.cxx,v 1.3 2001/10/23 20:51:23 ouerdane Exp $
// $Author: ouerdane $
// $Date: 2001/10/23 20:51:23 $
// $Copyright: (C) 2001 BRAHMS Collaboration <brahmlib@rhic.bnl.gov>
//
#ifndef BRAT_BrChkvCalModule
#include "BrChkvCalModule.h"
#endif
#ifndef ROOT_TDirectory
#include "TDirectory.h"
#endif
#ifndef WIN32
#include <iostream>
#else
#include <iostream.h>
#endif
#ifndef BRAT_BrParameterDbManager
#include "BrParameterDbManager.h"
#endif
#ifndef BRAT_BrCalibrationManager
#include "BrCalibrationManager.h"
#endif

//____________________________________________________________________
ClassImp(BrChkvCalModule);

//____________________________________________________________________
 BrChkvCalModule::BrChkvCalModule()
  : BrModule()
{
  // Default constructor. DO NOT USE
  SetState(kSetup);

  fParamsChkv   = 0;
  fCalibration = 0;
  
  SetCommitAscii();     // default is false
  SetSaveAscii();       // default is false 
  SetLoadAscii();       // default is false

  SetEnergyThreshold(); // default is 0.7
  
  fCalibFile = '0';
}
//____________________________________________________________________
 BrChkvCalModule::BrChkvCalModule(const Char_t* name, const Char_t* title)
  : BrModule(name, title)
{
  // Named Constructor
  SetState(kSetup);
  
  fParamsChkv   = 0;
  fCalibration = 0;
  
  SetCommitAscii();     // default is false
  SetSaveAscii();       // default is false 
  SetLoadAscii();       // default is false

  SetEnergyThreshold(); // default is 0
  
  fCalibFile = '0';
}

//____________________________________________________________________
 void BrChkvCalModule::Init()
{
  // Job-level initialisation
  SetState(kInit);

  // -------------------------------------------
  // calibration parameters and others
  BrParameterDbManager* parMan =
    BrParameterDbManager::Instance();
  
  fParamsChkv = 
    (BrChkvParameters*)parMan->GetDetectorParameters("BrChkvParameters",
							GetName());
  

  fValidTube = new Bool_t [fParamsChkv->GetNoTubes()];
  for (Int_t i = 1; i < fParamsChkv->GetNoTubes(); i++)
    fValidTube[i - 1] = kTRUE;
  
  BrCalibrationManager* calMan = 
    BrCalibrationManager::Instance();
  
  if (!calMan) {
    Abort("Init", "could not get calibration manager");
    return;
  }  

  fCalibration =
    (BrChkvCalibration*)calMan->Register("BrChkvCalibration",
					GetName());
  
  if (!fCalibration) {
    Abort("Init", "could not get calibration parameters");
    return;
  }

  if (fCommitAscii) {
    fSaveAscii = kFALSE;
    fLoadAscii = kFALSE;
    if (Verbose() > 1) 
      cout << " ---> Will COMMIT calibration  to ascii file " << fCalibFile.Data() 
	   << " to SQL database " << endl;
  }
  
  if (fSaveAscii) {
    fCommitAscii = kFALSE;
    fLoadAscii = kFALSE;
    if (Verbose() > 1) 
      cout << " ----> Will SAVE calibration to ascii file " << fCalibFile.Data() 
	   << endl;
  }
  
  if (fLoadAscii) {
    fSaveAscii   = kFALSE;
    fCommitAscii = kFALSE;
    if (Verbose() > 1) 
      cout << " ----> LOADING calibration from ascii file " << fCalibFile.Data() 
	   << endl;
  }
  
  if (!fSaveAscii && !fCommitAscii && !fLoadAscii)
    if (Verbose() > 1)
      Warning("Init", " * No ascii calibration loaded or saved or committed *");
}


//____________________________________________________________________
 void BrChkvCalModule::SaveAscii() 
{
  if (fCalibFile == "") {
    cout << " You forgot to set a calibration file for "
	 << GetName() << ".n Please provide it now: " << flush;
    cin >> fCalibFile;
    cout << endl;
  }
}

//____________________________________________________________________
 void BrChkvCalModule::ReadAscii() 
{
  if (fCalibFile == "") {
    cout << " You forgot to set a calibration file for "
	 << GetName() << ".n Please provide it now: " << flush;
    cin >> fCalibFile;
    cout << endl;
  }

}

//____________________________________________________________________
 void BrChkvCalModule::Event(BrEventNode* inNode, BrEventNode* outNode) 
{
  // temporary: before a production mode, I prefer committing from a
  // file with parameters saved in a previous pass.

  if (fCommitAscii || fLoadAscii) {
    if (Verbose() > 10)
      Warning("Event", "No need to scan event nodes, you only want to "
	      "commit or load from ascii file");
    return;
  }

}


//____________________________________________________________________
//
// $Log: BrChkvCalModule.cxx,v $
// Revision 1.3  2001/10/23 20:51:23  ouerdane
// Updated modules ala tof or bb, with Set[Save,Commit,Load]Ascii, etc
//
// Revision 1.2  2001/10/08 11:27:29  cholm
// Changed to use new DB access classes
//
// Revision 1.1  2001/07/20 16:05:30  ouerdane
// Added new directory modules/calib/chkv
// Contains:
//   BrChkvCalModule : base class for cherenkov detector calibration modules
//   BrChkvPedCalModule : pedestal calibration module
// stuff for compilation
//   Makefile.am
//   Include.h
//   LinkDef.h
//

This page automatically generated by script docBrat by Christian Holm

Copyright ; 2002 BRAHMS Collaboration <brahmlib@rcf.rhic.bnl.gov>
Last Update on by

Validate HTML
Validate CSS