ROOT logo
Podd » SRC » THaVDCPlane

class THaVDCPlane: public THaSubDetector


Units of measurements:
For cluster position (center) and size  -  wires;
For X, Y, and Z coordinates of track    -  meters;
For Theta and Phi angles of track       -  in tangents.

Function Members (Methods)

THaVDCPlane(const char* name = "", const char* description = "", THaDetectorBase* parent = NULL)
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual Int_tTHaAnalysisObject::Begin(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&)
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_tTHaAnalysisObject::End(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 Int_tFindClusters()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tFitTracks()
static voidTHaAnalysisObject::GeoToSph(Double_t th_geo, Double_t ph_geo, Double_t& th_sph, Double_t& ph_sph)
THaApparatus*THaSubDetector::GetApparatus() const
const char*THaAnalysisObject::GetClassName() const
THaVDCCluster*GetCluster(Int_t i) const
TClonesArray*GetClusters() const
const char*THaAnalysisObject::GetConfig() const
Double_tGetCosAngle() const
Int_tTHaAnalysisObject::GetDebug() const
THaDetectorBase*THaSubDetector::GetDetector() const
THaDetMap*THaDetectorBase::GetDetMap() const
virtual Option_t*TObject::GetDrawOption() const
Double_tGetDriftVel() const
static Long_tTObject::GetDtorOnly()
THaVDCHit*GetHit(Int_t i) const
TClonesArray*GetHits() const
virtual const char*TObject::GetIconName() const
TDatimeTHaAnalysisObject::GetInitDate() const
THaDetector*THaSubDetector::GetMainDetector() const
Double_tGetMaxTdiff() const
Double_tGetMaxTime() const
Double_tGetMinTime() const
virtual const char*TNamed::GetName() const
Int_tGetNClusters() const
Int_tTHaDetectorBase::GetNelem() const
Int_tGetNHits() const
Int_tGetNpass() const
Int_tGetNWires() const
Int_tGetNWiresHit() 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
THaDetectorBase*THaSubDetector::GetParent() const
const char*THaAnalysisObject::GetPrefix() const
Double_tGetSinAngle() const
const Double_t*THaDetectorBase::GetSize() const
Double_tGetT0Resolution() const
Double_tGetTDCRes() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetWAngle() const
Double_tGetWBeg() const
THaVDCWire*GetWire(Int_t i) const
TClonesArray*GetWires() const
Double_tGetWSpac() const
const TVector3&THaDetectorBase::GetXax() const
Double_tTHaDetectorBase::GetXSize() const
const TVector3&THaDetectorBase::GetYax() const
Double_tTHaDetectorBase::GetYSize() const
Double_tGetZ() const
const TVector3&THaDetectorBase::GetZax() const
Double_tTHaDetectorBase::GetZSize() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() 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
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)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTHaAnalysisObject::SetConfig(const char* label)
virtual voidTHaAnalysisObject::SetDebug(Int_t level)
voidTHaSubDetector::SetDetector(THaDetectorBase* det)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTHaAnalysisObject::SetName(const char* name)
virtual voidTHaAnalysisObject::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTHaSubDetector::SetParent(THaDetectorBase*)
virtual voidTNamed::SetTitle(const char* title = "")MENU
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*THaSubDetector::GetDBFileName() const
virtual const char*THaAnalysisObject::Here(const char*) const
Int_tTHaAnalysisObject::LoadDB(FILE* f, const TDatime& date, const DBRequest* req, Int_t search = 0)
virtual voidMakePrefix()
virtual FILE*THaAnalysisObject::OpenFile(const TDatime& date)
virtual FILE*THaAnalysisObject::OpenRunDBFile(const TDatime& date)
static char*THaAnalysisObject::ReadComment(FILE* fp, char* buf, const int len)
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()

Data Members

enum THaAnalysisObject::EStatus { kOK
enum THaAnalysisObject::EType { kVarDef
enum THaAnalysisObject::EMode { kDefine
enum THaAnalysisObject::EProperties { kNeedsRunDB
enum TObject::EStatusBits { kCanDelete
enum TObject::[unnamed] { kIsOnHeap
static const Double_tTHaAnalysisObject::kBig= 1.e38; // default junk value
TStringTHaAnalysisObject::fConfigConfiguration to use from database
Double_tfCosAnglecosine of fWAngle, for efficiency
Int_tTHaAnalysisObject::fDebugDebug level
THaDetMap*THaDetectorBase::fDetMapHardware channel map for this detector
Double_tfDriftVelDrift velocity in the wire plane (m/s)
Int_tfFlagsAnalysis control flags
TClonesArray*fHitsFired wires
TDatimeTHaAnalysisObject::fInitDateDate passed to Init
Bool_tTHaAnalysisObject::fIsInitFlag indicating that ReadDatabase done
Bool_tTHaAnalysisObject::fIsSetupFlag indicating that DefineVariables done.
Int_tfMaxClustSpanMaximum size of cluster in wire spacings
Double_tfMaxTdiffMin and Max limits of times between wires in cluster
Int_tfMaxTimeMin and Max limits of TDC times for clusters
Int_tfMinClustSizeMinimum number of wires needed for a cluster
Int_tfNHitsTotal number of hits (including multihits)
Int_tfNMaxGapMax gap in wire numbers in a cluster
Int_tfNWiresHitNumber of wires with one or more hits
TStringTNamed::fNameobject identifier
Int_tTHaDetectorBase::fNelemNumber of detector elements (paddles, mirrors)
Int_tfNpassNumber of hit passes
Bool_tTHaAnalysisObject::fOKOutFlag indicating object-output prepared
TVector3THaDetectorBase::fOriginCenter position of detector (m)
char*THaAnalysisObject::fPrefixName prefix for global variables
UInt_tTHaAnalysisObject::fPropertiesProperties of this object (see EProperties)
Double_tfSinAnglesine of fWAngle, for efficiency
Double_tTHaDetectorBase::fSize[3]Detector size in x,y,z (m) - x,y are half-widths
THaAnalysisObject::EStatusTHaAnalysisObject::fStatusInitialization status flag
Double_tfT0Resolution(Average) resolution of cluster time offset fit
Double_tfTDCResTDC Resolution ( s / channel)
THaVDCTimeToDistConv*fTTDConvTime-to-distance converter for this plane's wires
TStringTNamed::fTitleobject title
THaVDC*fVDCVDC detector to which this plane belongs
Double_tfWAngleAngle (rad) between dispersive direction (x) and
Double_tfWBegPosition of 1-st wire in E-arm coord sys (m)
Double_tfWSpacWire spacing and direction (m)
TVector3THaDetectorBase::fXaxX axis of the detector plane
TVector3THaDetectorBase::fYaxY axis of the detector plane
Double_tfZZ coordinate of plane in U1 coord sys (m)
TVector3THaDetectorBase::fZaxNormal to the detector plane
THaTriggerTime*fglTrg! time-offset global variable. Needed at the decode stage

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

THaVDCPlane(const char* name = "", const char* description = "", THaDetectorBase* parent = NULL)
void MakePrefix()
 Special treatment of the prefix for VDC planes: We don't want variable
 names such as "R.vdc.uv1.u.x", but rather "R.vdc.u1.x".
Int_t ReadDatabase(const TDatime& date)
 Allocate TClonesArray objects and load plane parameters from database
Int_t DefineVariables(THaAnalysisObject::EMode mode = kDefine)
 initialize global variables
void Clear(Option_t* opt = "")
 Clears the contents of the and hits and clusters
Int_t Decode(const THaEvData& )
 Converts the raw data into hit information
 Logical wire numbers a defined by the detector map. Wire number 0
 corresponds to the first defined channel, etc.
Int_t FindClusters()
 Reconstruct clusters in a VDC plane
 Assumes that the wires are numbered such that increasing wire numbers
 correspond to decreasing physical position.
 Ignores possibility of overlapping clusters
Int_t FitTracks()
 Fit tracks to cluster positions and drift distances.
Int_t GetNClusters() const
Get and Set functions
{ return fClusters->GetLast()+1; }
TClonesArray* GetClusters() const
{ return fClusters; }
THaVDCCluster* GetCluster(Int_t i) const
Int_t GetNWires() const
{ return fWires->GetLast()+1; }
TClonesArray* GetWires() const
{ return fWires; }
THaVDCWire* GetWire(Int_t i) const
Int_t GetNHits() const
{ return fHits->GetLast()+1; }
TClonesArray* GetHits() const
{ return fHits; }
THaVDCHit* GetHit(Int_t i) const
Int_t GetNWiresHit() const
{ return fNWiresHit; }
Int_t GetNpass() const
{ return fNpass; }
Double_t GetZ() const
{ return fZ; }
Double_t GetWBeg() const
{ return fWBeg; }
Double_t GetWSpac() const
{ return fWSpac; }
Double_t GetWAngle() const
{ return fWAngle; }
Double_t GetCosAngle() const
{ return fCosAngle; }
Double_t GetSinAngle() const
{ return fSinAngle; }
Double_t GetTDCRes() const
{ return fTDCRes; }
Double_t GetDriftVel() const
{ return fDriftVel; }
Double_t GetMinTime() const
{ return fMinTime; }
Double_t GetMaxTime() const
{ return fMaxTime; }
Double_t GetMaxTdiff() const
{ return fMaxTdiff; }
Double_t GetT0Resolution() const
{ return fT0Resolution; }