ROOT logo
Podd » SRC » THaG0Helicity

class THaG0Helicity: public THaHelicityDet, public THaG0HelicityReader

Function Members (Methods)

THaG0Helicity(const char* name, const char* description, THaApparatus* a = NULL)
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual Int_tBegin(THaRunBase* r = 0)
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual Int_tDecode(const THaEvData& evdata)
static Int_tTHaAnalysisObject::DefineVarsFromList(const void* list, THaAnalysisObject::EType type, THaAnalysisObject::EMode mode, const char* var_prefix, const TObject* obj, const char* prefix, const char* here)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Int_tEnd(THaRunBase* r = 0)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
Int_tTHaDetectorBase::FillDetMap(const vector<Int_t>& values, UInt_t flags = 0, const char* here = "FillDetMap")
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static voidTHaAnalysisObject::GeoToSph(Double_t th_geo, Double_t ph_geo, Double_t& th_sph, Double_t& ph_sph)
THaApparatus*THaDetector::GetApparatus() const
const char*THaAnalysisObject::GetClassName() const
const char*THaAnalysisObject::GetConfig() const
virtual const char*THaHelicityDet::GetDBFileName() const
Int_tTHaAnalysisObject::GetDebug() const
THaDetMap*THaDetectorBase::GetDetMap() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tTHaG0HelicityReader::GetGate() const
virtual THaHelicityDet::EHelicityTHaHelicityDet::GetHelicity() const
virtual const char*TObject::GetIconName() const
TDatimeTHaAnalysisObject::GetInitDate() const
virtual const char*TNamed::GetName() const
Int_tTHaDetectorBase::GetNelem() const
static TString&THaAnalysisObject::GetObjArrayString(const TObjArray* params, Int_t pos)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const TVector3&THaDetectorBase::GetOrigin() const
const char*THaAnalysisObject::GetPrefix() const
Int_tTHaG0HelicityReader::GetQrt() const
Int_tGetQuad() const
Int_tTHaG0HelicityReader::GetReading() const
const Double_t*THaDetectorBase::GetSize() const
Double_tGetTdiff() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tTHaG0HelicityReader::GetValidTime() const
const TVector3&THaDetectorBase::GetXax() const
Double_tTHaDetectorBase::GetXSize() const
const TVector3&THaDetectorBase::GetYax() const
Double_tTHaDetectorBase::GetYSize() const
const TVector3&THaDetectorBase::GetZax() const
Double_tTHaDetectorBase::GetZSize() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual Bool_tHelicityValid() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual THaAnalysisObject::EStatusTHaAnalysisObject::Init(const TDatime& run_time)
virtual Int_tTHaAnalysisObject::InitOutput(THaOutput*)
virtual voidTObject::Inspect() constMENU
static Bool_tTHaAnalysisObject::IntersectPlaneWithRay(const TVector3& xax, const TVector3& yax, const TVector3& org, const TVector3& ray_start, const TVector3& ray_vect, Double_t& length, TVector3& intersect)
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTHaDetectorBase::IsInActiveArea(Double_t x, Double_t y) const
Bool_tTHaAnalysisObject::IsInit() const
Bool_tTHaAnalysisObject::IsOK() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
static boolTHaAnalysisObject::IsTag(const char* buf)
Bool_tTObject::IsZombie() const
static Int_tTHaAnalysisObject::LoadDB(FILE* file, const TDatime& date, const DBRequest* request, const char* prefix, Int_t search = 0, const char* here = "THaAnalysisObject::LoadDB")
static Int_tTHaAnalysisObject::LoadDBvalue(FILE* file, const TDatime& date, const char* tag, Double_t& value)
static Int_tTHaAnalysisObject::LoadDBvalue(FILE* file, const TDatime& date, const char* tag, Int_t& value)
static Int_tTHaAnalysisObject::LoadDBvalue(FILE* file, const TDatime& date, const char* tag, string& text)
static Int_tTHaAnalysisObject::LoadDBvalue(FILE* file, const TDatime& date, const char* tag, TString& text)
virtual voidTNamed::ls(Option_t* option = "") const
virtual voidTHaHelicityDet::MakePrefix()
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static FILE*THaAnalysisObject::OpenFile(const char* name, const TDatime& date, const char* here = "OpenFile()", const char* filemode = "r", const int debug_flag = 1)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTHaAnalysisObject::Print(Option_t* opt = "") const
voidTHaDetectorBase::PrintDetMap(Option_t* opt = "") const
static voidTHaAnalysisObject::PrintObjects(Option_t* opt = "")
virtual Int_tTObject::Read(const char* name)
static Int_tTHaAnalysisObject::ReadDBline(FILE* fp, char* buf, size_t bufsiz, string& line)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
static Int_tTHaAnalysisObject::SeekDBconfig(FILE* file, const char* tag, const char* label = "config", Bool_t end_on_tag = false)
static Int_tTHaAnalysisObject::SeekDBdate(FILE* file, const TDatime& date, Bool_t end_on_tag = false)
virtual voidTHaDetector::SetApparatus(THaApparatus*)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTHaAnalysisObject::SetConfig(const char* label)
virtual voidSetDebug(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetG0Delay(Int_t delay)
voidSetMaxMsQrt(Int_t missq)
virtual voidTHaAnalysisObject::SetName(const char* name)
virtual voidTHaAnalysisObject::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetTdavg(Double_t tdavg)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTtol(Double_t ttol)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
static voidTHaAnalysisObject::SphToGeo(Double_t th_sph, Double_t ph_sph, Double_t& th_geo, Double_t& ph_geo)
THaAnalysisObject::EStatusTHaAnalysisObject::Status() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
static vector<std::string>THaAnalysisObject::vsplit(const string& s)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual const char*THaAnalysisObject::ClassNameHere(const char*) const
virtual voidTHaDetectorBase::DefineAxes(Double_t rotation_angle)
virtual Int_tDefineVariables(THaAnalysisObject::EMode mode = kDefine)
Int_tTHaAnalysisObject::DefineVarsFromList(const VarDef* list, THaAnalysisObject::EMode mode = kDefine, const char* var_prefix = "") const
Int_tTHaAnalysisObject::DefineVarsFromList(const RVarDef* list, THaAnalysisObject::EMode mode = kDefine, const char* var_prefix = "") const
Int_tTHaAnalysisObject::DefineVarsFromList(const void* list, THaAnalysisObject::EType type, THaAnalysisObject::EMode mode, const char* var_prefix = "") const
virtual voidTHaAnalysisObject::DoError(int level, const char* location, const char* fmt, va_list va) const
THaAnalysisObject*THaAnalysisObject::FindModule(const char* name, const char* classname, bool do_error = true)
static vector<std::string>THaAnalysisObject::GetDBFileList(const char* name, const TDatime& date, const char* here = "GetDBFileList()")
virtual const char*THaAnalysisObject::Here(const char*) const
Int_tTHaAnalysisObject::LoadDB(FILE* f, const TDatime& date, const DBRequest* req, Int_t search = 0)
virtual FILE*THaAnalysisObject::OpenFile(const TDatime& date)
virtual FILE*THaAnalysisObject::OpenRunDBFile(const TDatime& date)
voidQuadHelicity(Int_t cond = 0)
THaHelicityDet::EHelicityRanBit(Int_t i)
static char*THaAnalysisObject::ReadComment(FILE* fp, char* buf, const int len)
virtual Int_tTHaG0HelicityReader::ReadData(const THaEvData& evdata)
virtual Int_tReadDatabase(const TDatime& date)
virtual Int_tTHaDetectorBase::ReadGeometry(FILE* file, const TDatime& date, Bool_t required = kFALSE)
virtual Int_tTHaAnalysisObject::ReadRunDatabase(const TDatime& date)
virtual Int_tTHaAnalysisObject::RemoveVariables()
Int_tTHaG0HelicityReader::SetROCinfo(THaG0HelicityReader::EROC which, Int_t roc, Int_t header, Int_t index)

Data Members

enum { kNbits
enum THaHelicityDet::EHelicity { kMinus
enum THaAnalysisObject::EStatus { kOK
enum THaAnalysisObject::EType { kVarDef
enum THaAnalysisObject::EMode { kDefine
enum THaAnalysisObject::EProperties { kNeedsRunDB
enum TObject::EStatusBits { kCanDelete
enum TObject::[unnamed] { kIsOnHeap
enum THaG0HelicityReader::EROC { kHel
static const Double_tTHaAnalysisObject::kBig= 1.e38; // default junk value
TStringTHaAnalysisObject::fConfigConfiguration to use from database
Int_tTHaAnalysisObject::fDebugDebug level
THaDetMap*THaDetectorBase::fDetMapHardware channel map for this detector
Int_tfEvtypeCurrent CODA event type
Int_tTHaG0HelicityReader::fG0DebugDebug level
Int_tfG0delaydelay of helicity (# windows)
Bool_tTHaG0HelicityReader::fGateCurrent gate
Bool_tTHaG0HelicityReader::fHaveROCsRequired ROCs are defined
THaHelicityDet::EHelicityTHaHelicityDet::fHelicityBeam helicity. fHelicity = fSign * decoded_helicity
TH1F*fHistoHistogram of time diffs, filled in calibration mode
TDatimeTHaAnalysisObject::fInitDateDate passed to Init
Bool_tTHaAnalysisObject::fIsInitFlag indicating that ReadDatabase done
Bool_tTHaAnalysisObject::fIsSetupFlag indicating that DefineVariables done.
UInt_tfManuallySetBit pattern of manually set parameters
Int_tfMaxMissedmaximum number of missed quads before resetting
TStringTNamed::fNameobject identifier
Bool_tTHaG0HelicityReader::fNegGateInvert polarity of gate, so that 0=active
Int_tTHaDetectorBase::fNelemNumber of detector elements (paddles, mirrors)
Bool_tTHaAnalysisObject::fOKOutFlag indicating object-output prepared
Double_tTHaG0HelicityReader::fOldT1Last event's timestamps
TVector3THaDetectorBase::fOriginCenter position of detector (m)
char*THaAnalysisObject::fPrefixName prefix for global variables
Bool_tTHaG0HelicityReader::fPresentReadingCurrent helicity reading
UInt_tTHaAnalysisObject::fPropertiesProperties of this object (see EProperties)
Bool_tTHaG0HelicityReader::fQrtCurrent QRT
THaG0HelicityReader::ROCinfoTHaG0HelicityReader::fROCinfo[4]Primary readouts and two redundant clocks
Int_tTHaHelicityDet::fSignOverall sign of beam helicity. Default 1.
Double_tTHaDetectorBase::fSize[3]Detector size in x,y,z (m) - x,y are half-widths
THaAnalysisObject::EStatusTHaAnalysisObject::fStatusInitialization status flag
Bool_tfT0T9Was fT0 computed using fT9?
Int_tfTELastEvtQrtQRT of last event
Double_tfTELastEvtTimeTimestamp of last event
Double_tfTELastTimeTime of last timing event (before this)
Int_tfTEPresentReadingQ1present_reading at last QRT==1 timing event
Int_tfTEStartupNonzero if starting up
Int_tfTET9IndexCount of T9s (missing and found) since QRT=1
Double_tfTETimeTime of timing event (this or most recent)
Bool_tfTEType9True if timing event was T9
Double_tTHaG0HelicityReader::fTimestampEvent time from 105 kHz clock
TStringTNamed::fTitleobject title
Bool_tTHaG0HelicityReader::fValidTimefTimestamp valid
TVector3THaDetectorBase::fXaxX axis of the detector plane
TVector3THaDetectorBase::fYaxY axis of the detector plane
TVector3THaDetectorBase::fZaxNormal to the detector plane

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

THaG0Helicity(const char* name, const char* description, THaApparatus* a = NULL)
 Default constructor for ROOT I/O
Int_t DefineVariables(THaAnalysisObject::EMode mode = kDefine)
 Initialize global variables
Int_t ReadDatabase(const TDatime& date)
 Read parameters from database:  ROC info (detector map), G0 delay, etc.
Int_t Begin(THaRunBase* r = 0)
 Book a histogram, if requested
void Clear(Option_t* opt = "")
 Clear event-by-event data
Int_t Decode(const THaEvData& evdata)
 Decode Helicity data.
 Return 1 if helicity was assigned, 0 if not, <0 if error.
Int_t End(THaRunBase* r = 0)
 End of run processing. Write histograms.
void SetDebug(Int_t level)
 Set debug level of this detector as well as the THaG0HelicityReader
 helper class.
void SetG0Delay(Int_t delay)
 Set delay of helicity data (# windows).
 This value will override the value from the database.
void SetTdavg(Double_t tdavg)
 Set average time delay (# channels)
 This value will override the value from the database.
void SetTtol(Double_t ttol)
 Set the tolerance in timing when looking for missing quads
 (# channels)
 This value will override the value from the database.
void SetMaxMsQrt(Int_t missq)
 Set the maximum number of missing quads permitted before
 forcing the helicity calibration to be re-performed.
 (# quads)
 This value will override the value from the database.
void TimingEvent()
 Check for and process timing events
 A timing event is a T9, *or* if enough time elapses without a
 T9, it's any event with QRT==1 following an event with QRT==0.

  NOTE: This presently has NO EFFECT on the helicity processing,
        just provides warning messages if something suspicious
void QuadCalib()
 Calibrate the helicity predictor shift register.
void LoadHelicity()
 Load the helicity in G0 mode.
 If fGate == 0, helicity remains 'Unknown'.
void QuadHelicity(Int_t cond = 0)
 Load the helicity from the present reading for the
 start of a quad.
  Requires:  cond!=0 in order to force the quad to advance
             fT0 to be updated and set for THIS quad
THaHelicityDet::EHelicity RanBit(Int_t i)
 This is the random bit generator according to the G0
 algorithm described in "G0 Helicity Digital Controls" by
 E. Stangland, R. Flood, H. Dong, July 2002.
        which = 0 or 1
     if 0 then fIseed_earlier is modified
     if 1 then fIseed is modified
 Return value:
        helicity (-1 or +1).
UInt_t GetSeed()
Bool_t CompHel()
 Compare the present reading to the predicted reading.
 The raw data are 0's and 1's which compare to predictions of
 -1 and +1.  A prediction of 0 occurs when there is no gate.
Bool_t HelicityValid() const
{ return fValidHel; }
Int_t GetQuad() const
{ return fQuad; }
Double_t GetTdiff() const
 Set functions that can be used instead of database values
{ return fTdiff; }