// Make all memory allocations which can not be done in default constructor.
// Attach the Clusterizer task to the list of EMCAL tasks
- AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle(), fEventFolderName.Data());
+ AliEMCALGetter * gime = AliEMCALGetter::Instance();
+ if(!gime)
+ gime = AliEMCALGetter::Instance(GetTitle(), fEventFolderName.Data());
AliEMCALGeometry * geom = gime->EMCALGeometry() ;
//____________________________________________________________________________
AliEMCALDigitizer::~AliEMCALDigitizer()
{
+ AliEMCALGetter * gime = AliEMCALGetter::Instance(GetTitle()) ;
+
+ // Clean Digitizer from the white board
+ gime->EmcalLoader()->CleanDigitizer() ;
+
delete [] fInputFileNames ;
delete [] fEventNames ;
AliEMCALGetter * AliEMCALGetter::fgObjGetter = 0 ;
AliEMCALLoader * AliEMCALGetter::fgEmcalLoader = 0;
Int_t AliEMCALGetter::fgDebug = 0;
-TString AliEMCALGetter::fVersion = "";
// TFile * AliEMCALGetter::fgFile = 0 ;
//____________________________________________________________________________
-AliEMCALGetter::AliEMCALGetter(const char* headerFile, const char* version, Option_t * openingOption)
-{
- // ctor only called by Instance()
-
- // initialize data members
- SetDebug(0) ;
- //fBTE = 0 ;
-
- fLoadingStatus = "" ;
-
- fgObjGetter=this;
-
- OpenFile(headerFile,version,openingOption);
-}
-
-
-//____________________________________________________________________________
-AliEMCALGetter::~AliEMCALGetter()
-{
- //PH AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
- //PH delete rl;
- fgEmcalLoader = 0 ;
- fgObjGetter = 0;
- fVersion = "";
-}
-
-//____________________________________________________________________________
-void AliEMCALGetter::OpenFile(const char* headerFile, const char* version, Option_t * openingOption) {
- fVersion = version;
+AliEMCALGetter::AliEMCALGetter(const char* headerFile, const char* version, Option_t * openingOption) {
AliRunLoader* rl = AliRunLoader::GetRunLoader(version) ;
if (!rl) {
rl = AliRunLoader::Open(headerFile, version, openingOption);
Error("AliEMCALGetter", "Could not find EMCALLoader") ;
else
fgEmcalLoader->SetTitle(version);
+
+ // initialize data members
+ SetDebug(0) ;
+ fLoadingStatus = "" ;
+
+}
+
+//____________________________________________________________________________
+AliEMCALGetter::~AliEMCALGetter()
+{
+ if (fgEmcalLoader) {
+ delete fgEmcalLoader;
+ fgEmcalLoader = 0 ;
+ }
+ fgObjGetter = 0;
}
+
//____________________________________________________________________________
void AliEMCALGetter::Reset()
{
// resets things in case the getter is called consecutively with different files
// the EMCAL Loader is already deleted by the Run Loader
+ fgEmcalLoader = 0;
+ fgObjGetter = 0;
}
{
// Reads the content of all Tree's S, D and R
- if ( event >= MaxEvent() ) {
- Error("Event", "%d not found in TreeE !", event) ;
- return ;
- }
+// if ( event >= MaxEvent() ) {
+// Error("Event", "%d not found in TreeE !", event) ;
+// return ;
+// }
AliRunLoader * rl = AliRunLoader::GetRunLoader(EmcalLoader()->GetTitle());
// checks if we are dealing with test-beam data
fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;
}
else { // the getter has been called previously
- AliRunLoader * rl = AliRunLoader::GetRunLoader(fVersion);
- if (rl == 0) fgObjGetter->OpenFile(alirunFileName, version, openingOption) ;
- else if ( rl->GetFileName() == alirunFileName ) {// the alirunFile has the same name
+ AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
+ if ( rl->GetFileName() == alirunFileName ) {// the alirunFile has the same name
// check if the file is already open
TFile * galiceFile = dynamic_cast<TFile *>(gROOT->FindObject(rl->GetFileName()) ) ;
if ( !galiceFile )
- fgObjGetter->OpenFile(alirunFileName, version, openingOption);
+ fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption);
else { // the file is already open check the version name
TString currentVersionName = rl->GetEventFolder()->GetName() ;
if(fgDebug)
::Warning( "Instance", "Files with version %s already open", currentVersionName.Data() ) ;
else {
- fgEmcalLoader->SetTitle(version); fVersion = version;
+ fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;
}
}
}
else {
- AliRunLoader * rl = AliRunLoader::GetRunLoader(fVersion);
+ AliRunLoader * rl = AliRunLoader::GetRunLoader(fgEmcalLoader->GetTitle());
if ( strstr(version, AliConfig::GetDefaultEventFolderName()) ) // false in case of merging
delete rl ;
- fgObjGetter->OpenFile(alirunFileName, version, openingOption) ;
+ fgObjGetter = new AliEMCALGetter(alirunFileName, version, openingOption) ;
}
}
if (!fgObjGetter)
// Read the Digits
EmcalLoader()->CleanDigits() ;
- // gets TreeD from the root file (EMCAL.Digits.root)
- //if ( !IsLoaded("D") ) {
- EmcalLoader()->LoadDigits("UPDATE") ;
- EmcalLoader()->LoadDigitizer("UPDATE") ;
- // SetLoaded("D") ;
- //}
- return Digits()->GetEntries() ;
+ EmcalLoader()->LoadDigits("UPDATE") ;
+ EmcalLoader()->LoadDigitizer("UPDATE") ;
+ return Digits()->GetEntries() ;
}
//____________________________________________________________________________
const char* version = AliConfig::GetDefaultEventFolderName(),
Option_t * openingOption = "READ" ) ;
static AliEMCALGetter * Instance() ;
- void OpenFile(const char* headerFile,
- const char* version = AliConfig::GetDefaultEventFolderName(),
- Option_t * openingOption = "READ" );
static void Print() ;
private:
-// static TFile * fgFile; //!
-
-// AliEMCALBeamTestEvent * fBTE ; //! Header if BeamTest Event
static Int_t fgDebug ; //! Debug level
TString fLoadingStatus ; //! tells which trees are loaded
- static TString fVersion; //! stores the current folder name
// AliEMCALCalibrationDB * fcdb ; //!
enum EDataTypes{kHits,kSDigits,kDigits,kRecPoints,kTracks,kNDataTypes};
- ClassDef(AliEMCALGetter,5) // Algorithm class that provides methods to retrieve objects from a list knowing the index
+ ClassDef(AliEMCALGetter,6) // Algorithm class that provides methods to retrieve objects from a list knowing the index
};
Clean(fgkRecParticlesName);
CleanFolders() ;
// set to 0x0 the objgetter in AliGetter ... weird isn it !
- /*
AliEMCALGetter * gime = AliEMCALGetter::Instance() ;
if (gime)
gime->Reset() ;
- */
}
//____________________________________________________________________________
Error("LoadRecParticles","AliLoader::LoadRecParticles returned error");
return res;
}
-
- TFolder * emcalFolder = GetDetectorDataFolder();
- if ( emcalFolder == 0x0 )
- {
- Error("PostDigits","Can not get detector data folder");
- return 1;
- }
return ReadRecParticles();
}
Error("PostHits","AliLoader:: returned error");
return reval;
}
- return ReadHits();
+ return const_cast<AliEMCALLoader *>(this)->ReadHits();
}
//____________________________________________________________________________
Error("PostSDigits","AliLoader::PostSDigits returned error");
return reval;
}
- return ReadSDigits();
+ return const_cast<AliEMCALLoader *>(this)->ReadSDigits();
}
//____________________________________________________________________________
Error("PostDigits","AliLoader::PostDigits returned error");
return reval;
}
- return ReadDigits();
+ return const_cast<AliEMCALLoader *>(this)->ReadDigits();
}
//____________________________________________________________________________
Error("PostRecPoints","AliLoader::PostRecPoints returned error");
return reval;
}
- return ReadRecPoints();
+ return const_cast<AliEMCALLoader *>(this)->ReadRecPoints();
}
//____________________________________________________________________________
Error("PostRecParticles","AliLoader::PostRecParticles returned error");
return reval;
}
- return ReadRecParticles();
+ return const_cast<AliEMCALLoader *>(this)->ReadRecParticles();
}
//____________________________________________________________________________
Error("PostTracks","AliLoader::PostTracks returned error");
return reval;
}
- return ReadTracks();
+ return const_cast<AliEMCALLoader *>(this)->ReadTracks();
}
//____________________________________________________________________________
/* History of cvs commits:
*
* $Log$
+ * Revision 1.85 2005/05/28 14:19:04 schutz
+ * Compilation warnings fixed by T.P.
+ *
*/
//_________________________________________________________________________
//____________________________________________________________________________
AliPHOSDigitizer::~AliPHOSDigitizer()
{
+ AliPHOSGetter * gime = AliPHOSGetter::Instance(GetTitle()) ;
+
+ // Clean Digitizer from the white board
+ gime->PhosLoader()->CleanDigitizer() ;
// dtor
delete [] fInputFileNames ;
delete [] fEventNames ;
if (fESDTree)
delete fESDTree ;
- // fgObjGetter = 0;
+ fgObjGetter = 0;
}
//____________________________________________________________________________
// Creates and returns the pointer of the unique instance
// Must be called only when the environment has changed
- //::Info("Instance","alirunFileName=%s version=%s openingOption=%s",alirunFileName,version,openingOption);
-
if(!fgObjGetter){ // first time the getter is called
fgObjGetter = new AliPHOSGetter(alirunFileName, version, openingOption) ;
}
/* History of cvs commits:
*
* $Log$
+ * Revision 1.14 2005/05/28 14:19:04 schutz
+ * Compilation warnings fixed by T.P.
+ *
*/
//_________________________________________________________________________
index++ ;
}
}
+ tempo->Delete();
delete tempo;
}
else