00001
00002
00003
00004
00005
00006
00007
00009
00010
00011
00013
00014 #include <Stiostream.h>
00015
00016 #include <math.h>
00017 #include "StHbtTagMaker.h"
00018 #define PR(x) cout << "##### HbtTag: " << (#x) << " = " << (x) << endl;
00019
00020 ClassImp(StHbtTagMaker)
00021
00022
00023 StHbtTagMaker::StHbtTagMaker(const Char_t* name) : StMaker(name) {
00024 mHbtTag = 0;
00025 mSt_HbtTag = 0;
00026 mShowTags=0;
00027 mTagWriter = StHbtTagWriter::Instance();
00028 }
00029
00030
00031
00032 StHbtTagMaker::~StHbtTagMaker() {
00033 }
00034
00035 Int_t StHbtTagMaker::Init() {
00036 return StMaker::Init();
00037 }
00038
00039 void StHbtTagMaker::Clear(Option_t* opt) {
00040 if (mTagWriter) mTagWriter->Clear();
00041 cout << " StHbtTagMaker::Clear() " << endl;
00042 }
00043
00044 Int_t StHbtTagMaker::Make() {
00045
00046
00047
00048 mSt_HbtTag = new St_HbtTag("HbtTag",1);
00049
00050 mSt_HbtTag->SetNRows(1);
00051
00052 AddData(mSt_HbtTag,".data");
00053
00054 mHbtTag = mSt_HbtTag->GetTable();
00055
00056
00057 if (Debug()) cout << "StTagPointer: " << mSt_HbtTag << endl;
00058 if (Debug()) cout << "TagPointer: " << mHbtTag << endl;
00059
00060
00061 if (mTagWriter) {
00062 cout << "StHbtTagMaker::Make() - fill tags now " << endl;
00063 Fill(mTagWriter);
00064 }
00065 else {
00066 cout << "StHbtTagMaker::Make() - no tags written " << endl;
00067 }
00068
00069 if ( mShowTags>0) PrintTag();
00070 return kStOK;
00071 }
00072
00073
00074 void StHbtTagMaker::Fill(StHbtTagWriter* writer) {
00075 *mHbtTag = writer->mHbtTag;
00076 }
00077
00078
00079 void StHbtTagMaker::PrintInfo() {
00080 if (Debug()) StMaker::PrintInfo();
00081 }
00082
00083
00084
00085 void StHbtTagMaker::PrintTag(ostream& os) {
00086 os << " HbtTag: " << endl;
00087 os << " ************ " << endl;
00088 int nFloats = sizeof(*mHbtTag) / sizeof(float);
00089
00090 for ( int i=0; i<nFloats; i++) {
00091 if (i%5==0) os << endl;
00092 os << " " << ((float*)mHbtTag)[i];
00093 }
00094 os << endl;
00095 }
00096
00097
00098
00099 Int_t StHbtTagMaker::Finish() {
00100 return StMaker::Finish();
00101 }
00102
00103