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

#include <PndT0CandidateDetermination.h>

Inheritance diagram for PndT0CandidateDetermination:

Public Member Functions

 PndT0CandidateDetermination (TString inputBranch)
 
virtual ~PndT0CandidateDetermination ()
 
virtual InitStatus Init ()
 
virtual void Exec (Option_t *opt)
 
virtual void FinishTask ()
 
void SetOutBranchName (TString name)
 
void RunContinuous (Bool_t val=kTRUE)
 
void SetPersistence (Bool_t val=kTRUE)
 
void SetBlockedTime (double val)
 

Private Member Functions

 ClassDef (PndT0CandidateDetermination, 0)
 

Private Attributes

TString fOutBranchName
 
TString fInBranch
 
TClonesArray * fInArray
 
TClonesArray * fOutArray
 
double fBlockedTime
 
double fStartTime
 
Bool_t fRunContinuous
 
Bool_t fPersistence
 

Detailed Description

Definition at line 17 of file PndT0CandidateDetermination.h.

Constructor & Destructor Documentation

PndT0CandidateDetermination::PndT0CandidateDetermination ( TString  inputBranch)

Default constructor

Definition at line 12 of file PndT0CandidateDetermination.cxx.

References fBlockedTime, fInBranch, fOutBranchName, fPersistence, fRunContinuous, and fStartTime.

12  :
13  FairTask("PndT0CandidateDeterminationTask")
14 {
15  fPersistence = kTRUE;
16  fRunContinuous = kTRUE;
17  fOutBranchName = "T0Candidates";
18  fInBranch = inputBranch;
19  fBlockedTime = 4;
20  fStartTime = -10;
21 }
PndT0CandidateDetermination::~PndT0CandidateDetermination ( )
virtual

Destructor

Definition at line 23 of file PndT0CandidateDetermination.cxx.

24 {
25 }

Member Function Documentation

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

Virtual method Exec

Definition at line 58 of file PndT0CandidateDetermination.cxx.

References fBlockedTime, fInArray, fOutArray, fRunContinuous, and fStartTime.

Referenced by FinishTask().

59 {
60  // Declare some variables
61 
62  FairTimeStamp *inStamp;
63  double time;
64 
65  // Reset output array
66  fOutArray->Clear();
67  if (fInArray->GetEntriesFast()==0) return;
68 
69  if(fRunContinuous==kFALSE){ // --- for Event based Simulation
70  inStamp = (FairTimeStamp*) fInArray->At(0);
71  new ((*fOutArray)[fOutArray->GetEntries()]) FairTimeStamp(*(inStamp));
72  }
73  else{ // for time based simulation or continuous read out
74 
75  for (int j = 0; j < fInArray->GetEntriesFast(); j++){
76  inStamp = (FairTimeStamp*) fInArray->At(j);
77  time = inStamp->GetTimeStamp();
78  if (time >= fStartTime){ // check if timeStamp can trigger a new T0
79 
80  new ((*fOutArray)[fOutArray->GetEntries()]) FairTimeStamp(*(inStamp));
81  fStartTime = time+fBlockedTime; // set new StartTime for potential T0s.
82  }
83 
84  }
85 
86  }
87 }
void PndT0CandidateDetermination::FinishTask ( )
virtual

Definition at line 90 of file PndT0CandidateDetermination.cxx.

References Exec(), fInArray, fInBranch, and fRunContinuous.

90  {
91 
92  if(fRunContinuous==kTRUE){
93  // read in next to last "event" and write out the missing data
94 
95  FairRootManager* ioman = FairRootManager::Instance();
96  fInArray = (TClonesArray*)ioman->GetObject(fInBranch.Data());
97 
98  Exec("0");
99  FairRootManager::Instance()->SetLastFill();
100 
101  }
102  //fOutArray->Delete();
103 }
InitStatus PndT0CandidateDetermination::Init ( )
virtual

Virtual method Init

Definition at line 30 of file PndT0CandidateDetermination.cxx.

References fInArray, fInBranch, fOutArray, fOutBranchName, and fPersistence.

31 {
32  FairRootManager* ioman = FairRootManager::Instance();
33 
34  if ( ! ioman )
35  {
36  std::cout << "-E- PndT0CandidateDetermination::Init: "
37  << "RootManager not instantiated!" << std::endl;
38  return kFATAL;
39  }
40 
41 
42  fInArray = (TClonesArray*)ioman->GetObject(fInBranch.Data());
43 
44  if ( ! fInArray )
45  {
46  std::cout << "-W- PndT0CandidateDetermination::Init: "
47  << "No input branch found!" << std::endl;
48  return kERROR;
49  }
50 
51  fOutArray = ioman->Register(fOutBranchName.Data(), "FairTimeStamp", "EventDetermination", fPersistence);
52 
53  return kSUCCESS;
54 }
void PndT0CandidateDetermination::RunContinuous ( Bool_t  val = kTRUE)
inline

Definition at line 41 of file PndT0CandidateDetermination.h.

References fRunContinuous, and val.

41 {fRunContinuous = val;};
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndT0CandidateDetermination::SetBlockedTime ( double  val)
inline

Definition at line 44 of file PndT0CandidateDetermination.h.

References fBlockedTime, and val.

44 {fBlockedTime = val;};
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndT0CandidateDetermination::SetOutBranchName ( TString  name)
inline

Definition at line 38 of file PndT0CandidateDetermination.h.

References fOutBranchName, and name.

void PndT0CandidateDetermination::SetPersistence ( Bool_t  val = kTRUE)
inline

Definition at line 42 of file PndT0CandidateDetermination.h.

References fPersistence, and val.

42 { fPersistence = val;};
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11

Member Data Documentation

double PndT0CandidateDetermination::fBlockedTime
private

Definition at line 55 of file PndT0CandidateDetermination.h.

Referenced by Exec(), PndT0CandidateDetermination(), and SetBlockedTime().

TClonesArray* PndT0CandidateDetermination::fInArray
private

Definition at line 52 of file PndT0CandidateDetermination.h.

Referenced by Exec(), FinishTask(), and Init().

TString PndT0CandidateDetermination::fInBranch
private

Definition at line 50 of file PndT0CandidateDetermination.h.

Referenced by FinishTask(), Init(), and PndT0CandidateDetermination().

TClonesArray* PndT0CandidateDetermination::fOutArray
private

Definition at line 53 of file PndT0CandidateDetermination.h.

Referenced by Exec(), and Init().

TString PndT0CandidateDetermination::fOutBranchName
private
Bool_t PndT0CandidateDetermination::fPersistence
private

Definition at line 59 of file PndT0CandidateDetermination.h.

Referenced by Init(), PndT0CandidateDetermination(), and SetPersistence().

Bool_t PndT0CandidateDetermination::fRunContinuous
private
double PndT0CandidateDetermination::fStartTime
private

Definition at line 56 of file PndT0CandidateDetermination.h.

Referenced by Exec(), and PndT0CandidateDetermination().


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