#ifndef TRawBeamData_h #define TRawBeamData_h ////////////////////////////////////////////////////////////////// // A standard class. ////////////////////////////////////////////////////////////////// #include "BeamData.h" #include #include #include #include #include namespace COMET{ class IRawBeamData { private: //TString version; //BEAM_DATA fBeamData; // A field variable starts with "f" to distinguish it from a // local variable. All field variables should be declared // as private. //int fOneField; public: IRawBeamData(); // Destructors should be declared as virtual so that the current class // can be used as a base class. virtual ~IRawBeamData(); // Methods should be provided to set field variables values. static const void InitializeDB(); static const void InitializeDB( const TString& dbdir, const TString& version, const TString& datadir, Int_t mrrun_begin=29, Int_t mrrun_end=100 ); static const void InitializeDB( const char* dbdir, const char* version, const char* datadir, Int_t mrrun_begin=29, Int_t mrrun_end=100 ); //bool GetSpill(int spillnum, int unixtime, int dt_cut=5) ; static const bool GetSpill(Int_t spillnum, Int_t unixtime, Int_t dt_cut=5) ; //const BEAM_DATA& GetBeamData() ; static const Int_t GetBeamRunNumber() ; static const Int_t GetMRRunNumber() ; static const Int_t GetSpillNumber() ; static const Int_t GetTriggerTime(Int_t iGPS = 0 ) ; static const Int_t GetTriggerTimeNanoSecond(Int_t iGPS = 0 ) ; static const Int_t GetGPSStatus(Int_t iGPS = 0) ; static const Double_t GetProtonsPerSpill(Int_t ch) ; static const Double_t GetProtonsPerBunch( Int_t ch, Int_t bunch ) ; static const Double_t GetBeamTiming( Int_t ch ) ; static const Double_t GetBeamBunchTiming( Int_t ch, Int_t bunch ) ; static const Int_t GetBeamFlag(Int_t ch) ; static const Int_t GetBeamBunchFlag(Int_t ch, Int_t bunch) ; static const Double_t GetHornCurrent( Int_t ihorn) ; static const Double_t GetHornBusBarCurrent( Int_t ihorn, Int_t ch) ; static const Double_t GetBeamPositionOnTarget(Int_t ixy) ; static const Double_t GetBeamDirectionOnTarget(Int_t ixy) ; static const Double_t GetBeamSizeOnTarget(Int_t ixy) ; static const Double_t GetMumonSiTotalQ() ; static const Double_t GetMumonSiPeak() ; static const Double_t GetMumonSiX() ; static const Double_t GetMumonSiwX() ; static const Double_t GetMumonSiY() ; static const Double_t GetMumonSiwY() ; static const Double_t GetMumonICTotalQ() ; static const Double_t GetMumonICPeak() ; static const Double_t GetMumonICX() ; static const Double_t GetMumonICwX() ; static const Double_t GetMumonICY() ; static const Double_t GetMumonICwY() ; static const Double_t GetOTRLightYield() ; static const Double_t GetOTRX() ; static const Double_t GetOTRwX() ; static const Double_t GetOTRY() ; static const Double_t GetOTRwY() ; static const Double_t GetOTRXError() ; static const Double_t GetOTRwXError() ; static const Double_t GetOTRYError() ; static const Double_t GetOTRwYError() ; static const Int_t GetGoodGPSFlag() ; static const Int_t GetTriggerFlag() ; static const Int_t GetSpillFlag() ; static const Int_t GetGoodSpillFlag() ; static const Double_t GetTargetEfficiency(Int_t index) ; static const Int_t GetRunType() ; static const Int_t GetMagSetID() ; static const TString GetBSDVersion() ; /* // Methods should be provided to get field variable values. The // Get<> methods should be declared as const. int GetOneField(void) ; // Method names should start with upper case letters. double AnExampleMethod(void); // Sub classes should not start with a "T". class SubClass { SubClass(); virtual ~SubClass(); }; */ }; /* void IRawBeamData::SetOneField(int theValue) { fOneField = theValue; } void IRawBeamData::GetOneField(void) const {return fOneField;} void IRawBeamData::AnExampleMethod() { // Internal variables should start with lower case letters int anInternalVariable = 3; SubClass aSubClassVariable; } */ /* End of ND namespace */ }; #endif //TRawBeamData_h