Hall C ROOT/C++ Analyzer (hcana)
THcBCMCurrent Class Reference

Read BCM current from scalers and compare to thresholds.

This physics module does:

  • Read average BCM beam current values from scaler parameter file.
  • Write the values into bcm#.AvgCurrent for each event
  • Compare the current values with the threshold and set event flags (BCM1 and BCM2 only)

You can set the threshold using SetCurrentCut instead of gBCM_Current_threshold

Definition at line 12 of file THcBCMCurrent.h.

Classes

struct  BCMInfo
 

Public Types

enum  BCMopt {
  BCM1, BCM2, UNSER, BCM4A,
  BCM4B, BCM4C
}
 

Public Member Functions

virtual EStatus Init (const TDatime &date)
 
virtual Int_t Process (const THaEvData &)
 
 THcBCMCurrent (const char *name, const char *description)
 
virtual ~THcBCMCurrent ()
 

Private Member Functions

virtual Int_t DefineVariables (EMode mode=kDefine)
 
Int_t GetAvgCurrent (Int_t fevn, BCMInfo &bcminfo)
 
virtual Int_t ReadDatabase (const TDatime &date)
 

Private Attributes

std::map< Int_t, BCMInfoBCMInfoMap
 
Double_t fBCM1avg
 
Double_t fBCM2avg
 
Double_t fBCM4aavg
 
Double_t fBCM4bavg
 
Double_t fBCM4cavg
 
Int_t fBCMflag
 
Int_t fBCMIndex
 
Int_tfEvtNum
 
Double_tfiBCM1
 
Double_tfiBCM2
 
Double_tfiBCM4a
 
Double_tfiBCM4b
 
Double_tfiBCM4c
 
Int_t fNscaler
 
Double_t fThreshold
 

#include <THcBCMCurrent.h>

Inheritance diagram for THcBCMCurrent:

Member Enumeration Documentation

Enumerator
BCM1 
BCM2 
UNSER 
BCM4A 
BCM4B 
BCM4C 

Definition at line 22 of file THcBCMCurrent.h.

Constructor & Destructor Documentation

THcBCMCurrent::THcBCMCurrent ( const char *  name,
const char *  description 
)

Definition at line 26 of file THcBCMCurrent.cxx.

THcBCMCurrent::~THcBCMCurrent ( )
virtual

Definition at line 42 of file THcBCMCurrent.cxx.

Member Function Documentation

Int_t THcBCMCurrent::DefineVariables ( EMode  mode = kDefine)
privatevirtual

Definition at line 120 of file THcBCMCurrent.cxx.

Int_t THcBCMCurrent::GetAvgCurrent ( Int_t  fevn,
BCMInfo bcminfo 
)
private

Definition at line 197 of file THcBCMCurrent.cxx.

THaAnalysisObject::EStatus THcBCMCurrent::Init ( const TDatime date)
virtual

Definition at line 58 of file THcBCMCurrent.cxx.

Int_t THcBCMCurrent::Process ( const THaEvData evdata)
virtual

Definition at line 142 of file THcBCMCurrent.cxx.

Int_t THcBCMCurrent::ReadDatabase ( const TDatime date)
privatevirtual

Definition at line 70 of file THcBCMCurrent.cxx.

Member Data Documentation

std::map<Int_t, BCMInfo> THcBCMCurrent::BCMInfoMap
private

Definition at line 52 of file THcBCMCurrent.h.

Double_t THcBCMCurrent::fBCM1avg
private

Definition at line 38 of file THcBCMCurrent.h.

Double_t THcBCMCurrent::fBCM2avg
private

Definition at line 39 of file THcBCMCurrent.h.

Double_t THcBCMCurrent::fBCM4aavg
private

Definition at line 40 of file THcBCMCurrent.h.

Double_t THcBCMCurrent::fBCM4bavg
private

Definition at line 41 of file THcBCMCurrent.h.

Double_t THcBCMCurrent::fBCM4cavg
private

Definition at line 42 of file THcBCMCurrent.h.

Int_t THcBCMCurrent::fBCMflag
private

Definition at line 36 of file THcBCMCurrent.h.

Int_t THcBCMCurrent::fBCMIndex
private

Definition at line 28 of file THcBCMCurrent.h.

Int_t* THcBCMCurrent::fEvtNum
private

Definition at line 34 of file THcBCMCurrent.h.

Double_t* THcBCMCurrent::fiBCM1
private

Definition at line 29 of file THcBCMCurrent.h.

Double_t* THcBCMCurrent::fiBCM2
private

Definition at line 30 of file THcBCMCurrent.h.

Double_t* THcBCMCurrent::fiBCM4a
private

Definition at line 31 of file THcBCMCurrent.h.

Double_t* THcBCMCurrent::fiBCM4b
private

Definition at line 32 of file THcBCMCurrent.h.

Double_t* THcBCMCurrent::fiBCM4c
private

Definition at line 33 of file THcBCMCurrent.h.

Int_t THcBCMCurrent::fNscaler
private

Definition at line 26 of file THcBCMCurrent.h.

Double_t THcBCMCurrent::fThreshold
private

Definition at line 27 of file THcBCMCurrent.h.

Collaboration diagram for THcBCMCurrent:

The documentation for this class was generated from the following files: