00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "StHbtMaker/ThCorrFctn/StHbtThCFManager.h"
00017 #include "StHbtMaker/Base/StHbtThPair.hh"
00018 #include "StHbtMaker/Base/StHbtThCorrFctn.hh"
00019 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
00020 #include <Stsstream.h>
00021
00022 #ifdef __ROOT__
00023 ClassImp(StHbtThCFManager)
00024 #endif
00025
00026 StHbtThCFManager::StHbtThCFManager() : StHbtCorrFctn() {
00027 mThPair=0;
00028 };
00029
00030 StHbtThCFManager::~StHbtThCFManager()
00031 { };
00032
00033 void StHbtThCFManager::AddMixedPair(const StHbtPair* aPair) {
00034
00035 if (mThPair) {
00036 mThPair->Set(aPair);
00037 StHbtThCorrFctnIterator iter;
00038 for (iter=mThCorrFctnColl.begin(); iter!=mThCorrFctnColl.end();iter++){
00039 (*iter)->AddNum(mThPair);
00040 (*iter)->AddDen(mThPair);
00041 }
00042 }
00043 }
00044
00045 void StHbtThCFManager::AddRealPair(const StHbtPair*)
00046 {};
00047
00048 void StHbtThCFManager::Finish() {
00049
00050 StHbtThCorrFctnIterator iter;
00051 for (iter=mThCorrFctnColl.begin(); iter!=mThCorrFctnColl.end();iter++){
00052 (*iter)->Finish();
00053 }
00054 }
00055
00056
00057 StHbtString StHbtThCFManager::Report() {
00058 ostrstream tStr;
00059 tStr << "Theoretical Correlation Function Manager Report" << endl;
00060 if (!(mThPair)) {
00061 tStr << "ERROR : No Theoretical Pair Plugged " << endl;
00062 } else {
00063 tStr << mThPair->Report() << endl;
00064 };
00065 tStr << mThCorrFctnColl.size() << " Correlations Functions Plugged : " << endl;
00066 StHbtThCorrFctnIterator iter;
00067 for (iter=mThCorrFctnColl.begin(); iter!=mThCorrFctnColl.end();iter++){
00068 tStr <<(*iter)->Report() << endl;
00069 }
00070 StHbtString returnThis = tStr.str();
00071 return returnThis;
00072 }
00073
00074 inline void StHbtThCFManager::AddCorrFctn(StHbtThCorrFctn* aCorrFctn){
00075 mThCorrFctnColl.push_back(aCorrFctn);};
00076
00077 inline void StHbtThCFManager::SetThPair(StHbtThPair* aThPair) {mThPair=aThPair;};
00078