--- PamVMC/include/PamVMCDigMgr.h 2009/02/19 16:50:36 1.1 +++ PamVMC/include/PamVMCDigMgr.h 2009/07/13 12:27:06 1.6 @@ -22,13 +22,7 @@ static PamVMCDigMgr * fdig; TMap fdigmap; - /* This method calls only from manager. It is owner of all - digitizer objects */ - void SetDIG(const char *name, PamVMCDigitizer *detDIG){ - fdigmap.Add(new TObjString(name),detDIG); - fdigmap.Print(); - } - + protected: PamVMCDigMgr(){ @@ -39,8 +33,8 @@ SetDIG("TSPA", new PamVMCTrkDig()); SetDIG("S4",new PamVMCS4Dig()); SetDIG("NDTI",new PamVMCNDDig()); - SetDIG("RunHeader", new PamVMCDigRunHeader()); - SetDIG("RunTrailer", new PamVMCDigRunTrailer()); + //SetDIG("RunHeader", new PamVMCDigRunHeader()); + //SetDIG("RunTrailer", new PamVMCDigRunTrailer()); } public: @@ -53,18 +47,29 @@ return (PamVMCDigitizer*)fdigmap(name); } + /* This method calls from manager and from external digitizer. It is owner of all + digitizer objects */ + void SetDIG(const char *name, PamVMCDigitizer *detDIG){ + fdigmap.Add(new TObjString(name),detDIG); + fdigmap.Print(); + } + /* This method needs only for external digitizer, kill all default digitizers */ + void Reset() { fdigmap.Delete(); } + + /* Setting pointer to random objects for all Digitizers */ /* All digitizers load calibrations and calibrate */ - void LoadCalib(){ + void Initialize(TRandom* random){ TMapIter *n= (TMapIter *)fdigmap.MakeIterator(); - TObject *o; while( o=(TObject *) n->Next()) { + TObject *o; while( (o=(TObject *) n->Next())) { ((PamVMCDigitizer *)fdigmap.GetValue(o))->LoadCalib(); + ((PamVMCDigitizer *)fdigmap.GetValue(o))->SetRandom(random); } } /* This calls digitization for all detector */ void Digitize(Int_t EventNo, Int_t PrimaryPDG){ TMapIter *n= (TMapIter *)fdigmap.MakeIterator(); - TObject *o; while( o=(TObject *) n->Next()) { + TObject *o; while( (o=(TObject *) n->Next())) { ((PamVMCDigitizer *)fdigmap.GetValue(o))->Digitize(); } @@ -112,7 +117,7 @@ to raw-file only once, when run is over */ void FinishRun(){ TMapIter *n= (TMapIter *)fdigmap.MakeIterator(); - TObject *o; while( o=(TObject *) n->Next()) { + TObject *o; while( (o=(TObject *) n->Next())) { ((PamVMCDigitizer *)fdigmap.GetValue(o))->FinishRun(); } } @@ -121,7 +126,7 @@ void PrintCollections(){ TMapIter *n= (TMapIter *)fdigmap.MakeIterator(); - TObject *o; while( o=(TObject *) n->Next()) { + TObject *o; while( (o=(TObject *) n->Next())) { ((PamVMCDigitizer *)fdigmap.GetValue(o))->PrintCollections(); } }