FairRoot/PandaRoot
Public Member Functions | Private Member Functions | Private Attributes | List of all members
PndTrkAddTCA Class Reference

#include <PndTrkAddTCA.h>

Inheritance diagram for PndTrkAddTCA:

Public Member Functions

 PndTrkAddTCA ()
 
 ~PndTrkAddTCA ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 

Private Member Functions

 ClassDef (PndTrkAddTCA, 1)
 

Private Attributes

Int_t fEventCounter
 
TClonesArray * fTrackArray
 
TClonesArray * fPrimaryTrackArray
 
TClonesArray * fSecondaryTrackArray
 
TClonesArray * fTrackCandArray
 

Detailed Description

Definition at line 11 of file PndTrkAddTCA.h.

Constructor & Destructor Documentation

PndTrkAddTCA::PndTrkAddTCA ( )

Default constructor

Definition at line 30 of file PndTrkAddTCA.cxx.

30 : FairTask("add TCAs", 0) {}
PndTrkAddTCA::~PndTrkAddTCA ( )

Destructor

Definition at line 33 of file PndTrkAddTCA.cxx.

References fPrimaryTrackArray, fSecondaryTrackArray, and fTrackArray.

33  {
34 
35  delete fPrimaryTrackArray;
36  delete fSecondaryTrackArray;
37  delete fTrackArray;
38 
39 }
TClonesArray * fTrackArray
Definition: PndTrkAddTCA.h:36
TClonesArray * fPrimaryTrackArray
Definition: PndTrkAddTCA.h:37
TClonesArray * fSecondaryTrackArray
Definition: PndTrkAddTCA.h:38

Member Function Documentation

PndTrkAddTCA::ClassDef ( PndTrkAddTCA  ,
 
)
private
void PndTrkAddTCA::Exec ( Option_t *  opt)
virtual

Virtual method Exec

Definition at line 84 of file PndTrkAddTCA.cxx.

References fabs(), fEventCounter, fPrimaryTrackArray, fSecondaryTrackArray, fTrackArray, fTrackCandArray, fVerbose, PndTrack::GetFlag(), PndTrack::GetParamFirst(), PndTrack::GetParamLast(), PndTrack::GetTrackCand(), PndTrack::SetFlag(), and track.

84  {
85  fTrackArray->Delete();
86  fTrackCandArray->Delete();
87 
88  if(fVerbose) cout << "PndTrkAddTCA:: *********************** " << fEventCounter << " ***********************" << endl;
89  fEventCounter++;
90 
91  PndTrack *track = NULL;
92  // primaries
93  for(int itrk = 0; itrk < fPrimaryTrackArray->GetEntriesFast(); itrk++) {
94  track = (PndTrack*) fPrimaryTrackArray->At(itrk);
95 
96  TClonesArray& clref = *fTrackArray;
97  Int_t size = clref.GetEntriesFast();
98  PndTrack *outputtrack = new(clref[size]) PndTrack(track->GetParamFirst(),track->GetParamLast(), track->GetTrackCand());
99  outputtrack->SetFlag(333);
100  if(fabs(outputtrack->GetParamFirst().GetMomentum().Z()) < 1e-10) outputtrack->SetFlag(-333);
101 
102  TClonesArray& clref2 = *fTrackCandArray;
103  size = clref2.GetEntriesFast();
104  new(clref2[size]) PndTrackCand(track->GetTrackCand()); //PndTrackCand *outputtrackcand = //[R.K.03/2017] unused variable
105  }
106 
107  // secondaries
108  for(int itrk = 0; itrk < fSecondaryTrackArray->GetEntriesFast(); itrk++) {
109  track = (PndTrack*) fSecondaryTrackArray->At(itrk);
110 
111  TClonesArray& clref = *fTrackArray;
112  Int_t size = clref.GetEntriesFast();
113  PndTrack *outputtrack = new(clref[size]) PndTrack(track->GetParamFirst(),track->GetParamLast(), track->GetTrackCand());
114  outputtrack->SetFlag(track->GetFlag());
115 
116  TClonesArray& clref2 = *fTrackCandArray;
117  size = clref2.GetEntriesFast();
118  new(clref2[size]) PndTrackCand(track->GetTrackCand()); //PndTrackCand *outputtrackcand = //[R.K.03/2017] unused variable
119  }
120 
121 
122 }
int fVerbose
Definition: poormantracks.C:24
Int_t fEventCounter
Definition: PndTrkAddTCA.h:35
Int_t GetFlag() const
Definition: PndTrack.h:33
TClonesArray * fTrackCandArray
Definition: PndTrkAddTCA.h:40
TClonesArray * fTrackArray
Definition: PndTrkAddTCA.h:36
TClonesArray * fPrimaryTrackArray
Definition: PndTrkAddTCA.h:37
PndTrackCand GetTrackCand()
Definition: PndTrack.h:47
PndMCTrack * track
Definition: anaLmdCluster.C:89
FairTrackParP GetParamLast()
Definition: PndTrack.h:50
TClonesArray * fSecondaryTrackArray
Definition: PndTrkAddTCA.h:38
friend F32vec4 fabs(const F32vec4 &a)
Definition: P4_F32vec4.h:47
void SetFlag(Int_t i)
Definition: PndTrack.h:38
FairTrackParP GetParamFirst()
Definition: PndTrack.h:49
InitStatus PndTrkAddTCA::Init ( )
virtual

Virtual method Init

Definition at line 45 of file PndTrkAddTCA.cxx.

References fEventCounter, fPrimaryTrackArray, fSecondaryTrackArray, fTrackArray, and fTrackCandArray.

45  {
46 
47  fEventCounter = 0;
48 
49  // Get RootManager
50  FairRootManager* ioman = FairRootManager::Instance();
51  if ( ! ioman ) {
52  cout << "-E- PndTrkAddTCA::Init: "
53  << "RootManager not instantiated, return!" << endl;
54  return kFATAL;
55  }
56 
57  // -- HITS -------------------------------------------------
58  //
59  // I
60  fPrimaryTrackArray = (TClonesArray*) ioman->GetObject("SttMvdGemTrack");
61  if ( ! fPrimaryTrackArray ) {
62  cout << "-W- PndTrkAddTCA::Init: No primary track array, return!" << endl;
63  return kERROR;
64  }
65  //
66  // II
67  fSecondaryTrackArray = (TClonesArray*) ioman->GetObject("Track");
68  if ( ! fSecondaryTrackArray ) {
69  cout << "-W- PndTrkAddTCA::Init: No secondary track array, return!" << endl;
70  return kERROR;
71  }
72 
73 
74  fTrackArray = new TClonesArray("PndTrack");
75  fTrackCandArray = new TClonesArray("PndTrackCand");
76  ioman->Register("CombiTrack", "pr", fTrackArray, kTRUE);
77  ioman->Register("CombiTrackCand", "pr", fTrackCandArray, kTRUE);
78 
79  return kSUCCESS;
80 
81 }
Int_t fEventCounter
Definition: PndTrkAddTCA.h:35
TClonesArray * fTrackCandArray
Definition: PndTrkAddTCA.h:40
TClonesArray * fTrackArray
Definition: PndTrkAddTCA.h:36
TClonesArray * fPrimaryTrackArray
Definition: PndTrkAddTCA.h:37
TClonesArray * fSecondaryTrackArray
Definition: PndTrkAddTCA.h:38

Member Data Documentation

Int_t PndTrkAddTCA::fEventCounter
private

Definition at line 35 of file PndTrkAddTCA.h.

Referenced by Exec(), and Init().

TClonesArray* PndTrkAddTCA::fPrimaryTrackArray
private

Definition at line 37 of file PndTrkAddTCA.h.

Referenced by Exec(), Init(), and ~PndTrkAddTCA().

TClonesArray* PndTrkAddTCA::fSecondaryTrackArray
private

Definition at line 38 of file PndTrkAddTCA.h.

Referenced by Exec(), Init(), and ~PndTrkAddTCA().

TClonesArray* PndTrkAddTCA::fTrackArray
private

Definition at line 36 of file PndTrkAddTCA.h.

Referenced by Exec(), Init(), and ~PndTrkAddTCA().

TClonesArray* PndTrkAddTCA::fTrackCandArray
private

Definition at line 40 of file PndTrkAddTCA.h.

Referenced by Exec(), and Init().


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