FairRoot/PandaRoot
Public Types | Public Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
FairEvtFilter Class Referenceabstract

#include <FairEvtFilter.h>

Inheritance diagram for FairEvtFilter:
FairEvtFilterOnSingleParticleCounts PndEvtFilter PndEvtFilterOnInvMassCounts

Public Types

enum  ChargeState {
  kNeutral =0, kPlus, kMinus, kCharged,
  kAll, kChargeLastElement
}
 
enum  MomState { kMomTotal =0, kMomTrans, kMomZ, kMomLastElement }
 
enum  GeomState {
  kTheta =0, kPhi, kVertexZ, kVertexRho,
  kVertexRadius, kGeomLastElement
}
 
enum  LogicOp { kAnd =0, kOr, kLogicOpLastElement }
 

Public Member Functions

 FairEvtFilter ()
 
 FairEvtFilter (const char *name, const char *title="FairEvtFilter")
 
virtual ~FairEvtFilter ()
 
Bool_t SetListOfParticles (TClonesArray *ParticleList)
 
void PrintAllTParticleInEvent ()
 
Bool_t Init ()
 
void SetVerbose (Int_t verbose=12)
 
void ShowAcceptedEventNumbers ()
 
void ShowEvtNrsToAccept ()
 
void SetTestMode (Int_t *arrayPtr, Int_t nEntries)
 
Bool_t TestPassed ()
 
virtual Bool_t EventMatches (Int_t evtNr)=0
 
virtual Bool_t FilterActive ()=0
 
Bool_t GetCharge (Int_t inPdgCode, Double_t *pdgCodeCharge)
 

Protected Attributes

TDatabasePDG * fdbPdg
 
TClonesArray * fParticleList
 
Int_t fVerbose
 
Bool_t fTestMode
 
std::set< Int_t > fAcceptedEventNumbers
 
std::set< Int_t > fEvtNrsToAccept
 
Int_t fEventNr
 

Static Protected Attributes

static const Double_t kNoChargeSpecified = -999.9
 

Private Member Functions

 FairEvtFilter (const FairEvtFilter &G)
 
FairEvtFilteroperator= (const FairEvtFilter &)
 
 ClassDef (FairEvtFilter, 1)
 

Detailed Description

Definition at line 34 of file FairEvtFilter.h.

Member Enumeration Documentation

Enumerator
kAnd 
kOr 
kLogicOpLastElement 

Definition at line 42 of file FairEvtFilter.h.

Enumerator
kMomTotal 
kMomTrans 
kMomZ 
kMomLastElement 

Definition at line 40 of file FairEvtFilter.h.

Constructor & Destructor Documentation

FairEvtFilter::FairEvtFilter ( )

Default constructor.

Definition at line 11 of file FairEvtFilter.cxx.

References fAcceptedEventNumbers, and fdbPdg.

13 {
14  fAcceptedEventNumbers.clear();
15  fdbPdg = TDatabasePDG::Instance();
16 }
std::set< Int_t > fAcceptedEventNumbers
TClonesArray * fParticleList
std::set< Int_t > fEvtNrsToAccept
TDatabasePDG * fdbPdg
FairEvtFilter::FairEvtFilter ( const char *  name,
const char *  title = "FairEvtFilter" 
)

Constructor with name and title

Definition at line 22 of file FairEvtFilter.cxx.

References fAcceptedEventNumbers, fdbPdg, and fParticleList.

23 : TNamed(name, title), fParticleList(NULL), fVerbose(0), fTestMode(0), fAcceptedEventNumbers(), fEvtNrsToAccept(), fEventNr(0)
24 {
25  fAcceptedEventNumbers.clear();
26  fParticleList = 0;
27  fdbPdg = TDatabasePDG::Instance();
28 }
std::set< Int_t > fAcceptedEventNumbers
TClonesArray * fParticleList
TString name
std::set< Int_t > fEvtNrsToAccept
TDatabasePDG * fdbPdg
FairEvtFilter::~FairEvtFilter ( )
virtual

Destructor.

Definition at line 34 of file FairEvtFilter.cxx.

34 { }
FairEvtFilter::FairEvtFilter ( const FairEvtFilter G)
private

Member Function Documentation

FairEvtFilter::ClassDef ( FairEvtFilter  ,
 
)
private
virtual Bool_t FairEvtFilter::EventMatches ( Int_t  evtNr)
pure virtual
virtual Bool_t FairEvtFilter::FilterActive ( )
pure virtual
Bool_t FairEvtFilter::GetCharge ( Int_t  inPdgCode,
Double_t pdgCodeCharge 
)

Definition at line 62 of file FairEvtFilter.cxx.

References fdbPdg, fVerbose, and kNoChargeSpecified.

Referenced by FairEvtFilterOnSingleParticleCounts::CountCharge(), PndEvtFilter::FillList(), and PndEvtFilterOnInvMassCounts::SetPdgCodesToCombine().

63 {
64  // Try to find the pdg code
65  TParticlePDG *ptrToPdg = fdbPdg->GetParticle(inPdgCode);
66  if ( 0 == ptrToPdg) {
67  // ignore particles with unknown charges
68  std::cout << "WARNING from FairEvtFilter::GetCharge Charge of pdgCode " << inPdgCode << " is unknown and will be ignored!\n";
69  *pdgCodeCharge = kNoChargeSpecified;
70  return kFALSE;
71  }
72  *pdgCodeCharge = ptrToPdg->Charge()/3.; // TParticlePDG contains charge in units of |e|/3
73  if ( fVerbose > 1 ) std::cout << "Found pdgCodeCharge = " << *pdgCodeCharge << " for inPdgCode " << inPdgCode << '\n';
74  return kTRUE;
75 }
static const Double_t kNoChargeSpecified
TDatabasePDG * fdbPdg
Bool_t FairEvtFilter::Init ( )
inline

Definition at line 64 of file FairEvtFilter.h.

Referenced by FairFilteredPrimaryGenerator::Init().

64 { return kTRUE;}
FairEvtFilter& FairEvtFilter::operator= ( const FairEvtFilter )
inlineprivate

Definition at line 140 of file FairEvtFilter.h.

140 {return *this;}
void FairEvtFilter::PrintAllTParticleInEvent ( )

Definition at line 52 of file FairEvtFilter.cxx.

References fParticleList, and particle.

Referenced by PndEvtFilterOnInvMassCounts::EventMatches(), and FairEvtFilterOnSingleParticleCounts::EventMatches().

52  {
53  // sanity checks
54  if (0==fParticleList){ return; }
55  for (Int_t iPart=0; iPart<fParticleList->GetEntries(); ++iPart) {
56  TParticle *particle = (TParticle*)fParticleList->At(iPart);
57  particle->Print();
58  }
59 }
const int particle
TClonesArray * fParticleList
Bool_t FairEvtFilter::SetListOfParticles ( TClonesArray *  ParticleList)
inline

Definition at line 57 of file FairEvtFilter.h.

References fParticleList.

Referenced by FairFilteredPrimaryGenerator::GenerateEvent().

57 {fParticleList=ParticleList; return kTRUE;};
TClonesArray * fParticleList
void FairEvtFilter::SetTestMode ( Int_t *  arrayPtr,
Int_t  nEntries 
)
inline

Definition at line 91 of file FairEvtFilter.h.

References fEvtNrsToAccept, and fTestMode.

91  {
92  //turns on the test mode with the declared fEvtNrsToAccept
93  fTestMode=kTRUE;
94  std::set<Int_t> evtNrsToAccept (arrayPtr,arrayPtr+nEntries);
95  fEvtNrsToAccept=evtNrsToAccept;
96  }
std::set< Int_t > fEvtNrsToAccept
void FairEvtFilter::SetVerbose ( Int_t  verbose = 12)
inline

Definition at line 67 of file FairEvtFilter.h.

References fVerbose, and verbose.

Referenced by sim_filter_inv_mass().

67  {
68  if ( verbose >= 0 ){
69  fVerbose = verbose;
70  std::cout << "FairEvtFilter: fVerbose is now set to " << verbose << "\n";
71  } else {
72  std::cout << "\n\n\n -WARNING from FairEvtFilter: verbose must be a positive number! Check your SetVerbose call!\n\n\n";
73  }
74  }
#define verbose
void FairEvtFilter::ShowAcceptedEventNumbers ( )
inline

Definition at line 77 of file FairEvtFilter.h.

References fAcceptedEventNumbers.

77  {
78  // for QA
79  // shows fAcceptedEventNumbers that is filled after running a simulation
80  std::cout << "\n fAcceptedEventNumbers" << " = " << fAcceptedEventNumbers;
81  }
std::set< Int_t > fAcceptedEventNumbers
void FairEvtFilter::ShowEvtNrsToAccept ( )
inline

Definition at line 84 of file FairEvtFilter.h.

References fEvtNrsToAccept.

84  {
85  // for QA
86  //shows fEvtNrsToAccept that has to be set if you want to run your simulation in test mode
87  std::cout << "\n fEvtNrsToAccept" << " = " << fEvtNrsToAccept;
88  }
std::set< Int_t > fEvtNrsToAccept
Bool_t FairEvtFilter::TestPassed ( )
inline

Definition at line 99 of file FairEvtFilter.h.

References fAcceptedEventNumbers, fEvtNrsToAccept, and fTestMode.

99  {
100  if(kFALSE==fTestMode){
101  std::cout << "\n\n\n WARNING from FairEvtFilter: Test mode not set.\n\n\n";
102  return kFALSE;
103  }
105  //std::cout << "\n\n\n FairEvtFilter: Test passed.\n\n\n";
106  return kTRUE;
107  }else{
108  //std::cout << "\n\n\n FairEvtFilter: Test failed. Check your SetTestMode calls. \n\n\n";
109  return kFALSE;
110  }
111  }
std::set< Int_t > fAcceptedEventNumbers
std::set< Int_t > fEvtNrsToAccept

Member Data Documentation

std::set<Int_t> FairEvtFilter::fAcceptedEventNumbers
protected
TDatabasePDG* FairEvtFilter::fdbPdg
protected
Int_t FairEvtFilter::fEventNr
protected

Definition at line 136 of file FairEvtFilter.h.

std::set<Int_t> FairEvtFilter::fEvtNrsToAccept
protected

Definition at line 135 of file FairEvtFilter.h.

Referenced by SetTestMode(), ShowEvtNrsToAccept(), and TestPassed().

TClonesArray* FairEvtFilter::fParticleList
protected
Bool_t FairEvtFilter::fTestMode
protected

Definition at line 133 of file FairEvtFilter.h.

Referenced by SetTestMode(), and TestPassed().

Int_t FairEvtFilter::fVerbose
protected
const Double_t FairEvtFilter::kNoChargeSpecified = -999.9
staticprotected

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