FairRoot/PandaRoot
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PndTrackCandDraw Class Reference

#include <PndTrackCandDraw.h>

Inheritance diagram for PndTrackCandDraw:

Public Member Functions

 PndTrackCandDraw ()
 
 PndTrackCandDraw (const char *TrackCandName, Int_t iVerbose=1)
 
virtual ~PndTrackCandDraw ()
 
virtual InitStatus Init ()
 
virtual void AddBoxesTrackCand (FairBoxSet *set, TObject *obj, Int_t i=0)
 
virtual void AddBoxesPndTrackCand (FairBoxSet *set, TObject *obj, Int_t i=0)
 

Protected Member Functions

virtual TVector3 GetVector (TObject *obj)
 
virtual TVector3 GetVector (Int_t detId, Int_t hitId)
 
virtual TVector3 GetVector (FairLink link)
 
virtual void AddBoxes (FairBoxSet *set, TObject *obj, Int_t i=0)
 
 ClassDef (PndTrackCandDraw, 1)
 

Protected Attributes

TClonesArray * fTrackCandList
 

Detailed Description

Definition at line 24 of file PndTrackCandDraw.h.

Constructor & Destructor Documentation

PndTrackCandDraw::PndTrackCandDraw ( )
inline

Default constructor

Definition at line 29 of file PndTrackCandDraw.h.

29 {};
PndTrackCandDraw::PndTrackCandDraw ( const char *  TrackCandName,
Int_t  iVerbose = 1 
)

Standard constructor

Parameters
nameName of task
iVerboseVerbosity level

Definition at line 25 of file PndTrackCandDraw.cxx.

25  :
26  FairBoxSetDraw(TrackCandName, iVerbose), fTrackCandList(0){
27 }
TClonesArray * fTrackCandList
Int_t iVerbose
PndTrackCandDraw::~PndTrackCandDraw ( )
virtual

Destructor

Definition at line 134 of file PndTrackCandDraw.cxx.

134  {
135 }

Member Function Documentation

void PndTrackCandDraw::AddBoxes ( FairBoxSet *  set,
TObject *  obj,
Int_t  i = 0 
)
protectedvirtual

Definition at line 51 of file PndTrackCandDraw.cxx.

References AddBoxesPndTrackCand(), and AddBoxesTrackCand().

51  {
52 
53  if (0 == strcmp(obj->ClassName(), "GFTrackCand")
54  || 0 == strcmp(obj->ClassName(), "PndLhePidTrack"))
55  AddBoxesTrackCand(set, obj, i);
56  else if (0 == strcmp(obj->ClassName(), "PndTrackCand"))
57  AddBoxesPndTrackCand(set, obj, i);
58 }
Int_t i
Definition: run_full.C:25
virtual void AddBoxesTrackCand(FairBoxSet *set, TObject *obj, Int_t i=0)
virtual void AddBoxesPndTrackCand(FairBoxSet *set, TObject *obj, Int_t i=0)
void PndTrackCandDraw::AddBoxesPndTrackCand ( FairBoxSet *  set,
TObject *  obj,
Int_t  i = 0 
)
virtual

Definition at line 82 of file PndTrackCandDraw.cxx.

References PndTrackCand::GetNHits(), PndTrackCand::GetSortedHit(), GetVector(), point, and PndTrackCand::Print().

Referenced by AddBoxes(), and PndTrackDraw::Exec().

82  {
83 
84  PndTrackCand* pndtc = (PndTrackCand*) obj;
85  std::cout << "Hits in TrackCand: " << std::endl;
86 
87  ((FairMultiLinkedData_Interface*) pndtc)->Print();
88  for (size_t j = 0; j < pndtc->GetNHits(); j++) {
89  TVector3 point = GetVector(pndtc->GetSortedHit(j));
90  set->AddBox(point.X(), point.Y(), point.Z());
91  std::cout << " color: " << i << std::endl;
92  set->DigitValue(i);
93  }
94 }
void Print() const
Int_t i
Definition: run_full.C:25
PndTrackCandHit GetSortedHit(UInt_t i)
Definition: PndTrackCand.h:54
UInt_t GetNHits() const
Definition: PndTrackCand.h:59
virtual TVector3 GetVector(TObject *obj)
PndSdsMCPoint * point
Definition: anaLmdCluster.C:72
void PndTrackCandDraw::AddBoxesTrackCand ( FairBoxSet *  set,
TObject *  obj,
Int_t  i = 0 
)
virtual

Definition at line 60 of file PndTrackCandDraw.cxx.

References GFTrackCand::getHit(), GFTrackCand::getNHits(), GetVector(), and point.

Referenced by AddBoxes().

60  {
61  GFTrackCand *tc;
62 
63  if (0 == strcmp(obj->ClassName(), "GFTrackCand")) {
64  tc = (GFTrackCand *) obj;
65  std::cout << "fTrackCandList is full of GFTrackCands" << std::endl;
66  } else {
67  std::cout << "fTrackCandList is full of UNKNOWN " << obj->ClassName()
68  << "?" << std::endl;
69  }
70  if (0 == tc)
71  return;
72 
73  for (size_t j = 0; j < tc->getNHits(); j++) {
74  unsigned int detId, hitId;
75  tc->getHit(j, detId, hitId);
76  TVector3 point = GetVector(detId, hitId);
77  set->AddBox(point.X(), point.Y(), point.Z());
78  set->DigitValue(i);
79  }
80 }
Int_t i
Definition: run_full.C:25
unsigned int getNHits() const
Definition: GFTrackCand.h:113
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId) const
Get detector ID and cluster index (hitId) for hit number i.
Definition: GFTrackCand.h:84
Track candidate – a list of cluster indices.
Definition: GFTrackCand.h:55
virtual TVector3 GetVector(TObject *obj)
PndSdsMCPoint * point
Definition: anaLmdCluster.C:72
PndTrackCandDraw::ClassDef ( PndTrackCandDraw  ,
 
)
protected
TVector3 PndTrackCandDraw::GetVector ( TObject *  obj)
protectedvirtual

Definition at line 127 of file PndTrackCandDraw.cxx.

Referenced by AddBoxesPndTrackCand(), and AddBoxesTrackCand().

127  { // obj //[R.K.03/2017] unused variable(s)
128 
129  return TVector3();
130 
131 }
TVector3 PndTrackCandDraw::GetVector ( Int_t  detId,
Int_t  hitId 
)
protectedvirtual

Definition at line 96 of file PndTrackCandDraw.cxx.

References p, and TString.

96  {
97  FairHit * p;
98  FairRootManager* ioman = FairRootManager::Instance();
99  TString branchName = ioman->GetBranchName(detId);
100  TClonesArray* data = (TClonesArray*) (ioman->GetObject(branchName));
101  p = dynamic_cast<FairHit*>(data->At(hitId));
102  if (p != 0) {
103  std::cout << "Hit in " << branchName << "(" << p->GetX() << "/" << p->GetY() << "/" << p->GetZ() << ")" << std::endl;
104  return (TVector3(p->GetX(), p->GetY(), p->GetZ()));
105  }
106  return TVector3();
107 }
Double_t p
Definition: anasim.C:58
TVector3 PndTrackCandDraw::GetVector ( FairLink  link)
protectedvirtual

Definition at line 109 of file PndTrackCandDraw.cxx.

References p, TString, and vec.

109  {
110  FairHit *p;
111  FairRootManager* ioman = FairRootManager::Instance();
112  TString branchName = ioman->GetBranchName(link.GetType());
113 
114  p = (FairHit*) ioman->GetCloneOfLinkData(link);
115 
116  if (p != 0) {
117  TVector3 vec(p->GetX(), p->GetY(), p->GetZ());
118  std::cout << "Hit in " << branchName << "Link: " << link << "(" << p->GetX() << "/" << p->GetY() << "/" << p->GetZ() << ")";// << std::endl;
119 
120  delete p;
121  return (vec);
122  }
123  return TVector3();
124 
125 }
Double_t p
Definition: anasim.C:58
dble_vec_t vec[12]
Definition: ranlxd.cxx:380
InitStatus PndTrackCandDraw::Init ( )
virtual

Definition at line 29 of file PndTrackCandDraw.cxx.

References fq, fVerbose, Init(), and next.

Referenced by eventDisplay(), and PndTrackDraw::Init().

29  {
31 
32  if (fVerbose > 1)
33  cout << "PndTrackCandDraw::Init()" << endl;
34  fManager = FairRootManager::Instance();
35  TList* branchNames = fManager->GetBranchNameList();
36 
37  TIter next(branchNames);
38  TObjString* brName;
39  while ((brName = (TObjString*)next())){
40  TClonesArray *array = (TClonesArray *) fManager->GetObject(brName->GetString().Data());
41  if (array == 0){
42  std::cout << "-I- PndTrackCandDraw::Init() branch " << brName->GetString().Data() << " not found!" << std::endl;
43  }
44  }
45  fq = 0;
46 
47  return kSUCCESS;
48 }
int fVerbose
Definition: poormantracks.C:24
FairBoxSet * fq
Definition: PndCaloDraw.cxx:33
fRun Init()
Definition: NHitsPerEvent.C:20
static int next[96]
Definition: ranlxd.cxx:374

Member Data Documentation

TClonesArray* PndTrackCandDraw::fTrackCandList
protected

Definition at line 53 of file PndTrackCandDraw.h.


The documentation for this class was generated from the following files: