class THaG0Helicity: public THaHelicityDet, public THaG0HelicityReader

Function Members (Methods)

public:
THaG0Helicity()
THaG0Helicity(const char* name, const char* description, THaApparatus* a = 0)
virtual~THaG0Helicity()
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::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
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 Float_t*THaDetectorBase::GetSize() const
Double_tGetTdiff() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tTHaG0HelicityReader::GetValidTime() const
Float_tTHaDetectorBase::GetXSize() const
Float_tTHaDetectorBase::GetYSize() const
Float_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
THaAnalysisObject::EStatusTHaAnalysisObject::Init()
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_tTHaAnalysisObject::IsInit() const
Bool_tTHaAnalysisObject::IsOK() const
Bool_tTHaAnalysisObject::IsOKOut()
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
static Int_tTHaAnalysisObject::LoadDB(FILE* file, const TDatime& date, const DBRequest* request, const char* prefix = "", Int_t search = 0)
static Int_tTHaAnalysisObject::LoadDB(FILE* file, const TDatime& date, const TagDef* tags, const char* prefix = "", Int_t search = 0)
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()
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 voidTNamed::Print(Option_t* option = "") const
voidTHaDetectorBase::PrintDetMap(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& 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& insp, char* parent)
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& b)
voidStreamerNVirtual(TBuffer& 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
protected:
Bool_tCompHel()
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 voidTObject::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()")
UInt_tGetSeed()
virtual const char*THaAnalysisObject::Here(const char*) const
voidLoadHelicity()
voidTObject::MakeZombie()
virtual FILE*THaAnalysisObject::OpenFile(const TDatime& date)
virtual FILE*THaAnalysisObject::OpenRunDBFile(const TDatime& date)
voidQuadCalib()
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)
voidTimingEvent()

Data Members

public:
enum { kNbits
};
enum THaHelicityDet::EHelicity { kMinus
kUnknown
kPlus
};
enum THaAnalysisObject::EStatus { kOK
kNotinit
kInitError
kFileError
};
enum THaAnalysisObject::EType { kVarDef
kRVarDef
};
enum THaAnalysisObject::EMode { kDefine
kDelete
};
enum THaAnalysisObject::EProperties { kNeedsRunDB
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum THaG0HelicityReader::EROC { kHel
kTime
kROC2
kROC3
};
public:
static const Double_tTHaAnalysisObject::kBig= 1.e38; // default junk value
protected:
TStringTHaAnalysisObject::fConfigConfiguration to use from database
Int_tTHaAnalysisObject::fDebugDebug level
THaDetMap*THaDetectorBase::fDetMapHardware channel map for this detector
Int_tfEvtypeCurrent CODA event type
Int_tfFirstquad
Int_tTHaG0HelicityReader::fG0DebugDebug level
Int_tfG0delaydelay of helicity (# windows)
Bool_tTHaG0HelicityReader::fGateCurrent gate
Bool_tTHaG0HelicityReader::fHaveROCsRequired ROCs are defined
Int_tfHbits[24]
THaHelicityDet::EHelicityTHaHelicityDet::fHelicityBeam helicity. fHelicity = fSign * decoded_helicity
TH1F*fHistoHistogram of time diffs, filled in calibration mode
TDatimeTHaAnalysisObject::fInitDateDate passed to Init
UInt_tfInquad
Bool_tTHaAnalysisObject::fIsInitFlag indicating that ReadDatabase done
Bool_tTHaAnalysisObject::fIsSetupFlag indicating that DefineVariables done.
UInt_tfIseed
UInt_tfIseed_earlier
Double_tfLastTimestamp
UInt_tfManuallySetBit pattern of manually set parameters
Int_tfMaxMissedmaximum number of missed quads before resetting
Int_tfNB
TStringTNamed::fNameobject identifier
Bool_tTHaG0HelicityReader::fNegGateInvert polarity of gate, so that 0=active
Int_tTHaDetectorBase::fNelemNumber of detector elements (paddles, mirrors)
UInt_tfNqrt
Bool_tTHaAnalysisObject::fOKOutFlag indicating object-output prepared
Double_tTHaG0HelicityReader::fOldT1Last event's timestamps
Double_tTHaG0HelicityReader::fOldT2
Double_tTHaG0HelicityReader::fOldT3
TVector3THaDetectorBase::fOriginCenter position of detector (m)
Int_tfPredicted_reading
char*THaAnalysisObject::fPrefixName prefix for global variables
Bool_tTHaG0HelicityReader::fPresentReadingCurrent helicity reading
THaHelicityDet::EHelicityfPresent_helicity
UInt_tTHaAnalysisObject::fPropertiesProperties of this object (see EProperties)
THaHelicityDet::EHelicityfQ1_present_helicity
Int_tfQ1_reading
Bool_tTHaG0HelicityReader::fQrtCurrent QRT
Int_tfQuad
Bool_tfQuad_calibrated
THaG0HelicityReader::ROCinfoTHaG0HelicityReader::fROCinfo[4]Primary readouts and two redundant clocks
Bool_tfRecovery_flag
THaHelicityDet::EHelicityfSaved_helicity
Int_tTHaHelicityDet::fSignOverall sign of beam helicity. Default 1.
Float_tTHaDetectorBase::fSize[3]Detector size in x,y,z (m) - x,y are half-widths
THaAnalysisObject::EStatusTHaAnalysisObject::fStatusInitialization status flag
Double_tfT0
Bool_tfT0T9Was fT0 computed using fT9?
Double_tfT9
Int_tfT9count
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_tfTdavg
Double_tfTdiff
Double_tfTimeLastQ1
Double_tTHaG0HelicityReader::fTimestampEvent time from 105 kHz clock
TStringTNamed::fTitleobject title
Double_tfTlastquad
Double_tfTtol
Bool_tfValidHel
Bool_tfValidTime
Bool_tTHaG0HelicityReader::fValidTimefTimestamp valid

Class Charts

Inheritance Chart:
TNamed
THaAnalysisObject
THaDetectorBase
THaDetector
THaHelicityDet
THaG0HelicityReader
THaG0Helicity

Function documentation

THaG0Helicity(const char* name, const char* description, THaApparatus* a = 0)
THaG0Helicity()
 Default constructor for ROOT I/O
~THaG0Helicity()
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
        happens.
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.
 Argument:
        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()
{ return fValidHel; }
Int_t GetQuad()
{ return fQuad; }
Double_t GetTdiff()
 Set functions that can be used instead of database values
{ return fTdiff; }

Last change: Sat Nov 7 21:26:47 2009
Last generated: 2009-11-07 21:26

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.