EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CbmMCMatch Class Reference

#include <EicRoot/blob/master/cbmbase/CbmMCMatch.h>

+ Inheritance diagram for CbmMCMatch:
+ Collaboration diagram for CbmMCMatch:

Public Member Functions

 CbmMCMatch ()
 
 CbmMCMatch (const char *name, const char *title)
 
virtual ~CbmMCMatch ()
 
void AddElement (DataType type, int index, FairLink link)
 
void AddElement (DataType sourceType, int index, DataType targetType, int link)
 
void SetElements (DataType sourceType, int index, FairMultiLinkedData *links)
 
void InitStage (DataType type, std::string fileName, std::string branchName)
 
void RemoveStage (DataType type)
 
void LoadInMCLists (TClonesArray *myLinkArray)
 
void ClearMCList ()
 
void SetCommonWeightStages (Float_t weight)
 
CbmMCEntry GetEntry (DataType type, int index)
 
CbmMCEntry GetEntry (FairLink link)
 
CbmMCResult GetMCInfo (DataType start, DataType stop)
 
CbmMCEntry GetMCInfoSingle (FairLink aLink, DataType stop)
 
int GetNMCStages () const
 
CbmMCStageGetMCStage (int index) const
 
CbmMCStageGetMCStageType (DataType type)
 
void CreateArtificialStage (DataType stage, std::string fileName="", std::string branchName="")
 
FairMultiLinkedData FindLinksToStage (DataType stage)
 
bool IsTypeInList (DataType type)
 
void Print (std::ostream &out=std::cout)
 

Private Member Functions

void FindStagesPointingToLinks (FairMultiLinkedData links, DataType stop)
 
FairMultiLinkedData FindStagesPointingToLink (FairLink link)
 
CbmMCResult GetMCInfoForward (DataType start, DataType stop)
 
CbmMCResult GetMCInfoBackward (DataType start, DataType stop)
 
CbmMCEntry GetMCInfoForwardSingle (FairLink link, DataType stop)
 
CbmMCEntry GetMCInfoBackwardSingle (FairLink link, DataType stop, Double_t weight=1.)
 
void GetNextStage (FairMultiLinkedData &startEntry, DataType stopStage)
 
void AddToFinalStage (FairLink link, Float_t mult)
 
void ClearFinalStage ()
 
 ClassDef (CbmMCMatch, 1)
 

Private Attributes

DataType fUltimateStage
 last stage in link chain. Here all recursive operations must stop.
 
std::map< DataType, CbmMCStage * > fList
 
FairMultiLinkedData fFinalStageML
 

Friends

std::ostream & operator<< (std::ostream &out, const CbmMCMatch &match)
 

Detailed Description

Definition at line 29 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 29 of file CbmMCMatch.h

Constructor & Destructor Documentation

CbmMCMatch::CbmMCMatch ( )

Definition at line 15 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 15 of file CbmMCMatch.cxx

CbmMCMatch::CbmMCMatch ( const char *  name,
const char *  title 
)
inline

Definition at line 32 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 32 of file CbmMCMatch.h

CbmMCMatch::~CbmMCMatch ( )
virtual

Definition at line 25 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 25 of file CbmMCMatch.cxx

References fList.

Member Function Documentation

void CbmMCMatch::AddElement ( DataType  type,
int  index,
FairLink  link 
)

Definition at line 38 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 38 of file CbmMCMatch.cxx

References fList.

Referenced by AddElement().

+ Here is the caller graph for this function:

void CbmMCMatch::AddElement ( DataType  sourceType,
int  index,
DataType  targetType,
int  link 
)

Definition at line 32 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 32 of file CbmMCMatch.cxx

References AddElement().

+ Here is the call graph for this function:

void CbmMCMatch::AddToFinalStage ( FairLink  link,
Float_t  mult 
)
private

Definition at line 289 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 289 of file CbmMCMatch.cxx

References FairMultiLinkedData::AddLink(), and fFinalStageML.

Referenced by GetNextStage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCMatch::ClassDef ( CbmMCMatch  ,
 
)
private
void CbmMCMatch::ClearFinalStage ( )
private

Definition at line 293 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 293 of file CbmMCMatch.cxx

References fFinalStageML, and FairMultiLinkedData::Reset().

Referenced by GetMCInfoBackwardSingle(), and GetMCInfoForwardSingle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CbmMCMatch::ClearMCList ( )

Definition at line 297 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 297 of file CbmMCMatch.cxx

References fList.

Referenced by CbmMCMatchCreatorTask::Exec(), and CbmMCMatchLoaderTask::Exec().

+ Here is the caller graph for this function:

void CbmMCMatch::CreateArtificialStage ( DataType  stage,
std::string  fileName = "",
std::string  branchName = "" 
)

Definition at line 215 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 215 of file CbmMCMatch.cxx

References FindLinksToStage(), fList, FairLink::GetIndex(), FairMultiLinkedData::GetLink(), FairMultiLinkedData::GetNLinks(), InitStage(), kUnknown, and FairMultiLinkedData::SetLink().

Referenced by CbmMCMatchLoaderTask::Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

FairMultiLinkedData CbmMCMatch::FindLinksToStage ( DataType  stage)

Definition at line 205 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 205 of file CbmMCMatch.cxx

References FairMultiLinkedData::AddLinks(), GetMCStage(), and GetNMCStages().

Referenced by CreateArtificialStage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

FairMultiLinkedData CbmMCMatch::FindStagesPointingToLink ( FairLink  link)
private

Definition at line 192 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 192 of file CbmMCMatch.cxx

References FairMultiLinkedData::AddLinks(), fList, and FairLink::GetType().

Referenced by FindStagesPointingToLinks().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CbmMCMatch::FindStagesPointingToLinks ( FairMultiLinkedData  links,
DataType  stop 
)
private

Definition at line 168 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 168 of file CbmMCMatch.cxx

References FairMultiLinkedData::AddLink(), fFinalStageML, FindStagesPointingToLink(), FairMultiLinkedData::GetLink(), FairMultiLinkedData::GetNLinks(), and FairLink::GetType().

Referenced by GetMCInfoForwardSingle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCEntry CbmMCMatch::GetEntry ( DataType  type,
int  index 
)

Definition at line 274 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 274 of file CbmMCMatch.cxx

References fList.

Referenced by GetEntry(), and GetNextStage().

+ Here is the caller graph for this function:

CbmMCEntry CbmMCMatch::GetEntry ( FairLink  link)

Definition at line 285 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 285 of file CbmMCMatch.cxx

References GetEntry(), FairLink::GetIndex(), and FairLink::GetType().

+ Here is the call graph for this function:

CbmMCResult CbmMCMatch::GetMCInfo ( DataType  start,
DataType  stop 
)

Definition at line 71 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 71 of file CbmMCMatch.cxx

References GetMCInfoBackward(), GetMCInfoForward(), and IsTypeInList().

Referenced by CbmMCMatchSelectorTask::Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCResult CbmMCMatch::GetMCInfoBackward ( DataType  start,
DataType  stop 
)
private

Definition at line 134 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 134 of file CbmMCMatch.cxx

References fFinalStageML, fList, GetMCInfoBackwardSingle(), CbmMCObject::GetNEntries(), CbmMCStage::GetWeight(), CbmMCObject::SetEntry(), and start().

Referenced by GetMCInfo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCEntry CbmMCMatch::GetMCInfoBackwardSingle ( FairLink  link,
DataType  stop,
Double_t  weight = 1. 
)
private

Definition at line 153 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 153 of file CbmMCMatch.cxx

References ClearFinalStage(), fFinalStageML, fList, FairLink::GetIndex(), GetNextStage(), FairLink::GetType(), FairMultiLinkedData::MultiplyAllWeights(), and FairMultiLinkedData::SetLinks().

Referenced by GetMCInfoBackward(), and GetMCInfoSingle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCResult CbmMCMatch::GetMCInfoForward ( DataType  start,
DataType  stop 
)
private

Definition at line 96 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 96 of file CbmMCMatch.cxx

References fList, GetMCInfoForwardSingle(), CbmMCObject::GetNEntries(), CbmMCObject::GetStageId(), CbmMCObject::SetEntry(), CbmMCEntry::SetPos(), CbmMCEntry::SetSource(), and start().

Referenced by GetMCInfo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCEntry CbmMCMatch::GetMCInfoForwardSingle ( FairLink  link,
DataType  stop 
)
private

Definition at line 121 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 121 of file CbmMCMatch.cxx

References FairMultiLinkedData::AddLink(), ClearFinalStage(), fFinalStageML, FindStagesPointingToLinks(), and FairMultiLinkedData::SetLinks().

Referenced by GetMCInfoForward(), and GetMCInfoSingle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CbmMCEntry CbmMCMatch::GetMCInfoSingle ( FairLink  aLink,
DataType  stop 
)

Definition at line 82 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 82 of file CbmMCMatch.cxx

References fList, FairLink::GetIndex(), GetMCInfoBackwardSingle(), GetMCInfoForwardSingle(), FairLink::GetType(), and IsTypeInList().

+ Here is the call graph for this function:

CbmMCStage* CbmMCMatch::GetMCStage ( int  index) const
inline

Definition at line 55 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 55 of file CbmMCMatch.h

References fList.

Referenced by CbmMCMatchCreatorTask::Exec(), FindLinksToStage(), CbmMCMatchCreatorTask::InitBranches(), and SetCommonWeightStages().

+ Here is the caller graph for this function:

CbmMCStage* CbmMCMatch::GetMCStageType ( DataType  type)
inline

Definition at line 62 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 62 of file CbmMCMatch.h

References fList.

Referenced by GetNextStage(), and CbmMCMatchSelectorTask::SetWeights().

+ Here is the caller graph for this function:

void CbmMCMatch::GetNextStage ( FairMultiLinkedData startEntry,
DataType  stopStage 
)
private

Definition at line 230 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 230 of file CbmMCMatch.cxx

References FairMultiLinkedData::AddAllWeights(), AddToFinalStage(), fUltimateStage, GetEntry(), FairMultiLinkedData::GetLink(), GetMCStageType(), FairMultiLinkedData::GetNLinks(), CbmMCEntry::GetSource(), FairLink::GetType(), CbmMCStage::GetWeight(), FairLink::GetWeight(), and FairMultiLinkedData::MultiplyAllWeights().

Referenced by GetMCInfoBackwardSingle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CbmMCMatch::GetNMCStages ( ) const
inline

Definition at line 53 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 53 of file CbmMCMatch.h

References fList.

Referenced by CbmMCMatchCreatorTask::Exec(), FindLinksToStage(), CbmMCMatchCreatorTask::InitBranches(), and SetCommonWeightStages().

+ Here is the caller graph for this function:

void CbmMCMatch::InitStage ( DataType  type,
std::string  fileName,
std::string  branchName 
)

Definition at line 48 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 48 of file CbmMCMatch.cxx

References fList.

Referenced by CreateArtificialStage(), CbmMCMatchCreatorTask::Init(), and CbmMCMatchLoaderTask::Init().

+ Here is the caller graph for this function:

bool CbmMCMatch::IsTypeInList ( DataType  type)

Definition at line 307 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 307 of file CbmMCMatch.cxx

References fList.

Referenced by GetMCInfo(), GetMCInfoSingle(), and LoadInMCLists().

+ Here is the caller graph for this function:

void CbmMCMatch::LoadInMCLists ( TClonesArray *  myLinkArray)

Definition at line 315 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 315 of file CbmMCMatch.cxx

References fList, CbmMCEntry::GetSource(), and IsTypeInList().

Referenced by CbmMCMatchCreatorTask::Exec(), and CbmMCMatchLoaderTask::Exec().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CbmMCMatch::Print ( std::ostream &  out = std::cout)
inline

Definition at line 72 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 72 of file CbmMCMatch.h

Referenced by CbmMCMatchCreatorTask::Exec(), and CbmMCMatchLoaderTask::Exec().

+ Here is the caller graph for this function:

void CbmMCMatch::RemoveStage ( DataType  type)

Definition at line 59 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 59 of file CbmMCMatch.cxx

References fList.

void CbmMCMatch::SetCommonWeightStages ( Float_t  weight)

Definition at line 64 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 64 of file CbmMCMatch.cxx

References GetMCStage(), GetNMCStages(), and CbmMCStage::SetWeight().

Referenced by CbmMCMatchSelectorTask::SetWeights().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CbmMCMatch::SetElements ( DataType  sourceType,
int  index,
FairMultiLinkedData links 
)

Definition at line 44 of file CbmMCMatch.cxx.

View newest version in sPHENIX GitHub at line 44 of file CbmMCMatch.cxx

References fList.

Referenced by CbmMCMatchCreatorTask::Exec().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const CbmMCMatch match 
)
friend

Definition at line 74 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 74 of file CbmMCMatch.h

Member Data Documentation

FairMultiLinkedData CbmMCMatch::fFinalStageML
private

Definition at line 87 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 87 of file CbmMCMatch.h

Referenced by AddToFinalStage(), ClearFinalStage(), FindStagesPointingToLinks(), GetMCInfoBackward(), GetMCInfoBackwardSingle(), and GetMCInfoForwardSingle().

DataType CbmMCMatch::fUltimateStage
private

last stage in link chain. Here all recursive operations must stop.

Definition at line 85 of file CbmMCMatch.h.

View newest version in sPHENIX GitHub at line 85 of file CbmMCMatch.h

Referenced by GetNextStage().


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