// Return:
// Nothing.
-
if(fSimulation){
fSimulation->Delete();
delete fSimulation;
}
if(fCalibration){
- AliITSresponse* rspd = ((AliITSCalibration*)fCalibration->At(fGeom->GetStartSPD()))->GetResponse();
+ AliITSresponse* rspd = ((AliITSCalibration*)fCalibration->At(fGeom->GetStartSPD()))->GetResponse();
AliITSresponse* rsdd = ((AliITSCalibration*)fCalibration->At(fGeom->GetStartSDD()))->GetResponse();
AliITSresponse* rssd = ((AliITSCalibration*)fCalibration->At(fGeom->GetStartSSD()))->GetResponse();
if(rspd) delete rspd;
delete fPostProcess;
fPostProcess = 0;
}
-
+
+ if(fNDigits) delete [] fNDigits;
+
if (fLoader)
{
fLoader->GetModulesFolder()->Remove(this);
//Set defaults for segmentation and response
-
if(fGeom==0){
Warning("SetDefaults","fGeom is 0!");
return;
}
-
if (fCalibration==0) CreateCalibrationArray();
ResetCalibrationArray();
}
}
}
-
}
//______________________________________________________________________
Bool_t AliITSDetTypeSim::GetCalibration() {
// Get Default calibration if a storage is not defined.
-
AliCDBEntry *entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD", fRunNumber);
AliCDBEntry *entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD", fRunNumber);
AliCDBEntry *entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD", fRunNumber);
if(!sim){
sim = new AliITSsimulationSPD(this);
SetSimulationModel(idet,sim);
- } else{
- // loop over all SPD modules
- sim->SetDetType(this);
- sim->SetSegmentationModel(0,(AliITSsegmentationSPD*)GetSegmentationModel(idet));
- sim->Init();
}
}
//SDD
if(!sim){
sim = new AliITSsimulationSDD(this);
SetSimulationModel(idet,sim);
- } else {
- sim->SetDetType(this);
- sim->SetSegmentationModel(1,(AliITSsegmentationSDD*)GetSegmentationModel(idet));
- sim->Init();
}
}
if(!sim){
sim = new AliITSsimulationSSD(this);
SetSimulationModel(idet,sim);
-
- } else{
-
- sim->SetDetType(this);
- sim->SetSegmentationModel(2,(AliITSsegmentationSSD*)GetSegmentationModel(idet));
-
-
- sim->Init();
}
}
fRoif = -1;
fRoiifile = 0;
fInit = kFALSE;
+ fFlagFirstEv =kTRUE;
}
//______________________________________________________________________
AliITSDigitizer::AliITSDigitizer(AliRunDigitizer *mngr) : AliDigitizer(mngr){
fRoif = -1;
fRoiifile = 0;
fInit = kFALSE;
+ fFlagFirstEv =kTRUE;
}
//______________________________________________________________________
// none.
// Return:
// none.
-
fITS = 0; // don't delete fITS. Done else where.
if(fModActive) delete[] fModActive;
}
strstr(opt,"SSD")};
if( !det[0] && !det[1] && !det[2] ) all = "All";
else all = 0;
+ Int_t nfiles = GetManager()->GetNinputs();
+ Int_t event = GetManager()->GetOutputEventNr();
AliITSsimulation *sim = 0;
- fITS->SetDefaults();
- fITS->SetDefaultSimulation();
+ if(fFlagFirstEv){
+ fITS->SetDefaults();
+ fITS->SetDefaultSimulation();
+ fFlagFirstEv=kFALSE;
+ }
if(!fInit){
- Error("Exec","Init not succesfull, aborting.");
+ Error("Exec","Init not successful, aborting.");
return;
} // end if
sprintf(name,"%s",fITS->GetName());
- Int_t nfiles = GetManager()->GetNinputs();
- Int_t event = GetManager()->GetOutputEventNr();
- Int_t size = fITS->GetITSgeom()->GetIndexMax();
+ Int_t size = fITS->GetITSgeom()->GetIndexMax();
Int_t module,id,ifiles,mask;
Bool_t lmod;
Int_t *fl = new Int_t[nfiles];
Int_t fRoif; //! Region of interest flag.
Int_t fRoiifile; //! The file number with which to determing the region
// of interest from.
+ Bool_t fFlagFirstEv; //! Flag to control calibration access
- ClassDef(AliITSDigitizer,1) // Task to Digitize ITS from summable hits.
+ ClassDef(AliITSDigitizer,2) // Task to Digitize ITS from summable hits.
};
#endif