Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

MINFDetector Class Reference

#include <MINFDetector.h>

Inheritance diagram for MINFDetector:

MINFEMU MINFFLS MINFLST List of all members.

Public Member Functions

 MINFDetector (const char *name, const char *title)
 MINFDetector ()
 ~MINFDetector ()
virtual TList * DisplayList ()
virtual TObjArray * GetTrkHits (Int_t itrack)
virtual TClonesArray * GetHits ()
virtual Int_t GetNdigits () const
virtual Int_t GetNhits () const
TList * Histograms ()
TList * Nodes ()
TClonesArray * Digits ()
TClonesArray * Hits ()
TObjArray * Points ()
Int_t GetNV () const
Int_t GetNH () const
Int_t GetIshunt () const
void SetIshunt (Int_t ishunt)
Bool_t IsActive () const
Bool_t IsFolder () const
virtual void AddDigit (Int_t *, Int_t *)
virtual void BookHits (REROOT_Event *)
virtual void Browse (TBrowser *b)
virtual void DeEmbellishTrack (Int_t)
virtual void Disable ()
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
virtual void DumpHit (Int_t)
virtual void EmbellishTrack (Int_t)
virtual void Enable ()
virtual void FinishRun ()
virtual Float_t GetHitELOSS (Int_t)
virtual Float_t GetHitPartMom (Int_t)
virtual Int_t GetIPDG (Int_t)
virtual void Hits2Digits ()
virtual void Init ()
virtual void InspectHit (Int_t)
virtual void LoadPoints (Int_t track)
virtual void MakeBranch ()
virtual void Paint (Option_t *opt="")
virtual void ResetDigits ()
virtual void ResetHits ()
virtual void ResetPoints ()
virtual void SetTreeAddress ()

Protected Attributes

Bool_t fActive
Int_t fIshunt
Int_t fNV
Int_t fNH
Int_t fNhits
Int_t fNdigits
TList * fHistograms
TList * fNodes
TClonesArray * fHits
TObjArray * fTrkHits
TClonesArray * fDigits
TObjArray * fPoints
TList * fDisplayList

Constructor & Destructor Documentation

MINFDetector::MINFDetector const char *  name,
const char *  title
 

Definition at line 62 of file MINFDetector.cxx.

References MINFast::Detectors(), fActive, fDigits, fDisplayList, fHistograms, fHits, fNdigits, fNhits, fNodes, fPoints, fTrkHits, and gMINFast.

00063          : TNamed(name,title)
00064 {
00065 
00066 // Normal constructor invoked by all Detectors.
00067 // Create the list for detector specific histograms
00068 // Add this Detector to the global list of Detectors in Run.
00069    fActive     = kTRUE;
00070    fNhits      = 0;
00071    fHits       = 0;
00072    fTrkHits    = 0;
00073    fDigits     = 0;                                                                fNdigits    = 0;
00074    fHistograms = new TList();
00075    fNodes      = new TList();
00076    fPoints     = 0;
00077    fDisplayList= new TList();
00078    gMINFast->Detectors()->Add(this);
00079    SetMarkerColor(kBlack);
00080    SetMarkerStyle(1);
00081 }

MINFDetector::MINFDetector  ) 
 

Definition at line 47 of file MINFDetector.cxx.

References fActive, fDigits, fDisplayList, fHistograms, fHits, fNdigits, fNhits, fNodes, fPoints, and fTrkHits.

00048 {
00049    fNhits      = 0;
00050    fHits       = 0;
00051    fTrkHits    = 0;
00052    fDigits     = 0;
00053    fNdigits    = 0;
00054    fHistograms = 0;
00055    fNodes      = 0;
00056    fPoints     = 0;
00057    fDisplayList= 0;
00058    fActive     = kTRUE;
00059 }

MINFDetector::~MINFDetector  ) 
 

Definition at line 84 of file MINFDetector.cxx.

References fDisplayList, fHistograms, fNdigits, fNhits, fNodes, and fPoints.

00085 {
00086    fNhits      = 0;
00087    fNdigits    = 0;
00088    fHistograms = 0;
00089    fNodes->Clear();
00090    delete fNodes;
00091    if (fPoints) fPoints->Delete();
00092    delete fPoints;
00093    fPoints     = 0;
00094    if (fDisplayList) fDisplayList->Clear();
00095    delete fDisplayList;
00096    fDisplayList = 0;
00097 }


Member Function Documentation

virtual void MINFDetector::AddDigit Int_t *  ,
Int_t * 
[inline, virtual]
 

Definition at line 62 of file MINFDetector.h.

00062 {;}

virtual void MINFDetector::BookHits REROOT_Event  )  [inline, virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 63 of file MINFDetector.h.

Referenced by MINFast::ProcessEvent().

00063 {;}

void MINFDetector::Browse TBrowser *  b  )  [virtual]
 

Definition at line 100 of file MINFDetector.cxx.

References fHits.

00101 {
00102 
00103 // Insert Detector objects in the list of objects to be browsed.
00104    char name[64];
00105    if (fHits == 0) return;
00106    TObject *obj;
00107    Int_t i, nobjects;
00108 
00109    nobjects = fHits->GetEntries();
00110    for (i=0;i<nobjects;i++) {
00111      obj = fHits->At(i);
00112      sprintf(name,"%s_%d",obj->GetName(),i);
00113      b->Add(obj, &name[0]);
00114    }
00115 }

virtual void MINFDetector::DeEmbellishTrack Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU.

Definition at line 65 of file MINFDetector.h.

Referenced by MINFPoints::DeEmbellishTrack().

00065 {;}

TClonesArray* MINFDetector::Digits  )  [inline]
 

Definition at line 51 of file MINFDetector.h.

References fDigits.

00051 {return fDigits;}

void MINFDetector::Disable  )  [virtual]
 

Definition at line 118 of file MINFDetector.cxx.

References fActive, and fNodes.

Referenced by MINFDisplay::DisableDetector().

00119 {
00120 
00121 // Disable detector name 
00122    fActive = kFALSE;
00123    TIter next(fNodes);
00124    TNode *node;
00125    while((node = (TNode*)next())) {
00126      node->SetVisibility(0);
00127    }   
00128 }

virtual TList* MINFDetector::DisplayList  )  [inline, virtual]
 

Definition at line 43 of file MINFDetector.h.

References fDisplayList.

Referenced by MINFEMU::DeEmbellishTrack(), MINFDisplay::DrawHits(), and MINFEMU::EmbellishTrack().

00043 {return fDisplayList;}

Int_t MINFDetector::DistancetoPrimitive Int_t  px,
Int_t  py
[virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 131 of file MINFDetector.cxx.

00132 {
00133    return 9999;
00134 }

virtual void MINFDetector::DumpHit Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 68 of file MINFDetector.h.

Referenced by MINFPoints::DumpSelectedHit().

00068 {;}

virtual void MINFDetector::EmbellishTrack Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU.

Definition at line 69 of file MINFDetector.h.

Referenced by MINFPoints::EmbellishTrack().

00069 {;}

void MINFDetector::Enable  )  [virtual]
 

Definition at line 137 of file MINFDetector.cxx.

References fActive, and fNodes.

Referenced by MINFDisplay::EnableDetector().

00138 {
00139 
00140 // Enable detector name 
00141    fActive = kTRUE;
00142    TIter next(fNodes);
00143    TNode *node;
00144    while ((node = (TNode*)next())) {
00145      node->SetVisibility(1);
00146    }   
00147 }

void MINFDetector::FinishRun  )  [virtual]
 

Definition at line 150 of file MINFDetector.cxx.

Referenced by MINFast::FinishRun().

00151 {
00152 
00153 // function called at the end of a run.
00154 }

virtual Float_t MINFDetector::GetHitELOSS Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 72 of file MINFDetector.h.

Referenced by MINFPoints::GetObjectInfo().

00072 {return 0;}

virtual Float_t MINFDetector::GetHitPartMom Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 73 of file MINFDetector.h.

Referenced by MINFPoints::GetObjectInfo().

00073 {return 0;}

virtual TClonesArray* MINFDetector::GetHits  )  [inline, virtual]
 

Definition at line 46 of file MINFDetector.h.

References fHits.

00046 {return fHits;}

virtual Int_t MINFDetector::GetIPDG Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 74 of file MINFDetector.h.

Referenced by MINFPoints::GetHitName().

00074 {return 0;}

Int_t MINFDetector::GetIshunt  )  const [inline]
 

Definition at line 56 of file MINFDetector.h.

References fIshunt.

00056 {return fIshunt;}

virtual Int_t MINFDetector::GetNdigits  )  const [inline, virtual]
 

Definition at line 47 of file MINFDetector.h.

References fNdigits.

00047 {return fNdigits;}

Int_t MINFDetector::GetNH  )  const [inline]
 

Definition at line 55 of file MINFDetector.h.

References fNH.

00055 {return fNH;}

virtual Int_t MINFDetector::GetNhits  )  const [inline, virtual]
 

Definition at line 48 of file MINFDetector.h.

References fNhits.

00048 {return fNhits;}

Int_t MINFDetector::GetNV  )  const [inline]
 

Definition at line 54 of file MINFDetector.h.

References fNV.

00054 {return fNV;}

virtual TObjArray* MINFDetector::GetTrkHits Int_t  itrack  )  [inline, virtual]
 

Definition at line 44 of file MINFDetector.h.

References fTrkHits.

Referenced by MINFLST::BookHits(), MINFFLS::BookHits(), MINFEMU::BookHits(), MINFPoints::DistancetoPrimitive(), MINFEMU::LoadPoints(), and LoadPoints().

00045                           {return (TObjArray *) (fTrkHits->At(itrack));}

TList* MINFDetector::Histograms  )  [inline]
 

Definition at line 49 of file MINFDetector.h.

References fHistograms.

00049 {return fHistograms;}

TClonesArray* MINFDetector::Hits  )  [inline]
 

Definition at line 52 of file MINFDetector.h.

References fHits.

00052 {return fHits;}

virtual void MINFDetector::Hits2Digits  )  [inline, virtual]
 

Definition at line 75 of file MINFDetector.h.

00075 {;}

virtual void MINFDetector::Init void   )  [inline, virtual]
 

Definition at line 76 of file MINFDetector.h.

Referenced by MINFast::Init().

00076 {;}

virtual void MINFDetector::InspectHit Int_t   )  [inline, virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 77 of file MINFDetector.h.

Referenced by MINFPoints::InspectSelectedHit().

00077 {;}

Bool_t MINFDetector::IsActive  )  const [inline]
 

Definition at line 58 of file MINFDetector.h.

References fActive.

Referenced by MINFDisplay::DrawHits(), and MINFPoints::Propagate().

00058 {return fActive;}

Bool_t MINFDetector::IsFolder  )  const [inline]
 

Definition at line 59 of file MINFDetector.h.

00059 {return kTRUE;}

void MINFDetector::LoadPoints Int_t  track  )  [virtual]
 

Reimplemented in MINFEMU.

Definition at line 157 of file MINFDetector.cxx.

References fPoints, MINFast::GetNtrack(), MINFHit::GetTrack(), GetTrkHits(), gMINFast, MINFPoints::SetDetector(), MINFPoints::SetParticle(), MINFHit::X(), MINFHit::Y(), and MINFHit::Z().

Referenced by MINFEMU::LoadPoints(), and MINFDisplay::LoadPoints().

00158 {
00159 
00160 //gmi printf("MINFDetector::LoadPoints: Enter for track %d\n",track);
00161 
00162 // Store x,y,z of all hits in memory
00163    if (fPoints == 0) fPoints = new TObjArray(gMINFast->GetNtrack());
00164    TObjArray *thits = GetTrkHits(track);
00165    Int_t nhits = thits->GetEntriesFast();
00166 
00167 //gmi printf("MINFDetector::LoadPoints: No. of hits is %d\n",nhits);
00168 
00169    if (nhits == 0) return;
00170    MINFHit *ahit;
00171    MINFPoints *points = new MINFPoints(nhits);
00172    fPoints->AddAt(points,track);
00173    points->SetMarkerColor(GetMarkerColor());
00174    points->SetMarkerStyle(GetMarkerStyle());
00175    points->SetMarkerSize(GetMarkerSize());
00176    points->SetDetector(this);
00177    for (Int_t hit=0; hit<nhits; hit++) {
00178      ahit = (MINFHit *) thits->UncheckedAt(hit);
00179      points->SetPoint(hit, ahit->X(), ahit->Y(), ahit->Z());
00180      if (hit == 0) {
00181        points->SetParticle(ahit->GetTrack());
00182      }
00183    }
00184 }

void MINFDetector::MakeBranch  )  [virtual]
 

Definition at line 187 of file MINFDetector.cxx.

References fHits, gMINFast, and MINFast::TreeH().

Referenced by MINFast::MakeTree().

00188 {
00189   
00190 // Create a new branch in the current Root Tree.
00191 // The branch of fHits is automatically split
00192    Int_t buffersize = 4000;
00193    char branchname[10];
00194    sprintf(branchname,"%s",GetName());
00195    if (fHits && gMINFast->TreeH()) {
00196      gMINFast->TreeH()->Branch(branchname,&fHits, buffersize);
00197 //gmiprintf("Making Branch %s for hits\n",branchname);
00198    }    
00199 }

TList* MINFDetector::Nodes  )  [inline]
 

Definition at line 50 of file MINFDetector.h.

References fNodes.

Referenced by MINFDetGeom::~MINFDetGeom().

00050 {return fNodes;}

void MINFDetector::Paint Option_t *  opt = ""  )  [virtual]
 

Reimplemented in MINFEMU, MINFFLS, and MINFLST.

Definition at line 202 of file MINFDetector.cxx.

00203 {
00204 }

TObjArray* MINFDetector::Points  )  [inline]
 

Definition at line 53 of file MINFDetector.h.

References fPoints.

Referenced by MINFDisplay::DrawHits(), and MINFPoints::Propagate().

00053 {return fPoints;}

void MINFDetector::ResetDigits  )  [virtual]
 

Definition at line 207 of file MINFDetector.cxx.

References fDigits, and fNdigits.

Referenced by MINFast::ResetDigits().

00208 {
00209 
00210 // Reset number of digits and the digits array for this detector
00211    fNdigits = 0;
00212    if (fDigits) fDigits->Clear();
00213 }

void MINFDetector::ResetHits  )  [virtual]
 

Definition at line 216 of file MINFDetector.cxx.

References fHits, fNhits, and fTrkHits.

Referenced by MINFast::ResetHits().

00217 {
00218 
00219 // Reset number of hits and the hits array for this detector
00220    fNhits = 0;
00221    if (fHits) fHits->Delete();
00222 
00223 // Clear and Delete fTrkHits = TObjArray by track of TObjArrays by hit.
00224    if (fTrkHits) fTrkHits->Delete();
00225    delete fTrkHits;
00226    fTrkHits = 0;
00227 }

void MINFDetector::ResetPoints  )  [virtual]
 

Reimplemented in MINFEMU.

Definition at line 230 of file MINFDetector.cxx.

References fDisplayList, and fPoints.

Referenced by MINFEMU::ResetPoints(), and MINFast::ResetPoints().

00231 {
00232 
00233 // Reset array of points for this detector
00234    if (fPoints) {
00235      fPoints->Delete();
00236      delete fPoints;
00237      fPoints = 0;
00238    }
00239 
00240 // Reset Display List for this detector
00241    if (fDisplayList) fDisplayList->Clear();
00242 }

void MINFDetector::SetIshunt Int_t  ishunt  )  [inline]
 

Definition at line 57 of file MINFDetector.h.

References fIshunt.

00057 {fIshunt=ishunt;}

void MINFDetector::SetTreeAddress  )  [virtual]
 

Definition at line 245 of file MINFDetector.cxx.

References fDigits, fHits, gMINFast, MINFast::TreeD(), and MINFast::TreeH().

00246 {
00247 
00248 // Set branch address for the Hits and Digits Trees.
00249    TBranch *branch;
00250    char branchname[20];
00251    sprintf(branchname,"%s",GetName());
00252    TTree *treeH = gMINFast->TreeH();
00253    if (treeH && fHits) {
00254      branch = treeH->GetBranch(branchname);
00255      if (branch) branch->SetAddress(&fHits);
00256    }
00257    TTree *treeD = gMINFast->TreeD();
00258    if (treeD && fDigits) {
00259      branch = treeD->GetBranch(branchname);
00260      if (branch) branch->SetAddress(&fDigits);
00261    }
00262 }


Member Data Documentation

Bool_t MINFDetector::fActive [protected]
 

Definition at line 89 of file MINFDetector.h.

Referenced by Disable(), Enable(), IsActive(), and MINFDetector().

TClonesArray* MINFDetector::fDigits [protected]
 

Definition at line 109 of file MINFDetector.h.

Referenced by Digits(), MINFDetector(), ResetDigits(), and SetTreeAddress().

TList* MINFDetector::fDisplayList [protected]
 

Definition at line 112 of file MINFDetector.h.

Referenced by DisplayList(), MINFDetector(), ResetPoints(), and ~MINFDetector().

TList* MINFDetector::fHistograms [protected]
 

Definition at line 95 of file MINFDetector.h.

Referenced by Histograms(), MINFDetector(), and ~MINFDetector().

TClonesArray* MINFDetector::fHits [protected]
 

Definition at line 97 of file MINFDetector.h.

Referenced by Browse(), GetHits(), Hits(), MakeBranch(), MINFDetector(), ResetHits(), and SetTreeAddress().

Int_t MINFDetector::fIshunt [protected]
 

Definition at line 90 of file MINFDetector.h.

Referenced by GetIshunt(), and SetIshunt().

Int_t MINFDetector::fNdigits [protected]
 

Definition at line 94 of file MINFDetector.h.

Referenced by GetNdigits(), MINFDetector(), ResetDigits(), and ~MINFDetector().

Int_t MINFDetector::fNH [protected]
 

Definition at line 92 of file MINFDetector.h.

Referenced by GetNH().

Int_t MINFDetector::fNhits [protected]
 

Definition at line 93 of file MINFDetector.h.

Referenced by GetNhits(), MINFDetector(), ResetHits(), and ~MINFDetector().

TList* MINFDetector::fNodes [protected]
 

Definition at line 96 of file MINFDetector.h.

Referenced by Disable(), Enable(), MINFDetector(), Nodes(), and ~MINFDetector().

Int_t MINFDetector::fNV [protected]
 

Definition at line 91 of file MINFDetector.h.

Referenced by GetNV().

TObjArray* MINFDetector::fPoints [protected]
 

Definition at line 110 of file MINFDetector.h.

Referenced by LoadPoints(), MINFDetector(), Points(), ResetPoints(), and ~MINFDetector().

TObjArray* MINFDetector::fTrkHits [protected]
 

Definition at line 102 of file MINFDetector.h.

Referenced by GetTrkHits(), MINFDetector(), and ResetHits().


The documentation for this class was generated from the following files:
Generated on Sat Mar 14 22:45:28 2009 for loon by doxygen 1.3.5