]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSDetTypeSim.cxx
Removing semaphore .done files.
[u/mrichter/AliRoot.git] / ITS / AliITSDetTypeSim.cxx
index 6b5b2b1a7fe4c1d62d79f3b9878843aaa00189f7..600bf7eb8da3c8cc3ec331d15f211f1c370e5695 100644 (file)
@@ -158,23 +158,35 @@ AliITSDetTypeSim::~AliITSDetTypeSim(){
     fDigits=0;
 }
 //----------------------------------------------------------------------
-AliITSDetTypeSim::AliITSDetTypeSim(const AliITSDetTypeSim &source) : TObject(source){
+AliITSDetTypeSim::AliITSDetTypeSim(const AliITSDetTypeSim &source) : TObject(source),
+fSimulation(source.fSimulation),   // [NDet]
+fSegmentation(source.fSegmentation), // [NDet]
+fCalibration(source.fCalibration),     // [NMod]
+fPreProcess(source.fPreProcess),   // [] e.g. Fill fHitModule with hits
+fPostProcess(source.fPostProcess),  // [] e.g. Wright Raw data
+fNSDigits(source.fNSDigits),    //! number of SDigits
+fSDigits(source.fSDigits),      //! [NMod][NSDigits]
+fNDigits(source.fNDigits),     //! number of Digits
+fRunNumber(source.fRunNumber),   //! Run number (to access DB)
+fDigits(source.fDigits),       //! [NMod][NDigits]
+fHitClassName(source.fHitClassName), // String with Hit class name.
+fSDigClassName(source.fSDigClassName),// String with SDigit class name.
+fDigClassName(), // String with digit class name.
+fLoader(source.fLoader),      // local pointer to loader
+fFirstcall(source.fFirstcall)
+{
     // Copy Constructor for object AliITSDetTypeSim not allowed
-
-    if(this==&source) return;
-    Error("Copy constructor",
-         "You are not allowed to make a copy of the AliITSDetTypeSim");
-    exit(1);
+  for(Int_t i=0;i<fgkNdettypes;i++){
+    fDigClassName[i] = source.fDigClassName[i];
+  }
 }
 //----------------------------------------------------------------------
 AliITSDetTypeSim& AliITSDetTypeSim::operator=(const AliITSDetTypeSim &source){
     // The = operator for object AliITSDetTypeSim
  
-    if(&source==this) return *this;
-    Error("operator=",
-         "You are not allowed to make a copy of the AliITSDetTypeSIm");
-    exit(1);
-    return *this;
+  this->~AliITSDetTypeSim();
+  new(this) AliITSDetTypeSim(source);
+  return *this;
 }
 
 //______________________________________________________________________
@@ -442,20 +454,22 @@ Bool_t AliITSDetTypeSim::GetCalibration() {
   AliCDBEntry *entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD", run);
 
   if(!entrySPD || !entrySDD || !entrySSD || !entry2SPD || !entry2SDD || !entry2SSD){
-    AliWarning("Calibration object retrieval failed! Dummy calibration will be used.");
-    AliCDBStorage *origStorage = AliCDBManager::Instance()->GetDefaultStorage();
-    AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
+       AliWarning("Calibration object retrieval failed! Dummy calibration will be used.");
+       AliCDBStorage *localStor = 
+               AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
        
-    entrySPD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSPD", run);
-    entrySDD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSDD", run);
-    entrySSD = AliCDBManager::Instance()->Get("ITS/Calib/CalibSSD", run);
-    entry2SPD = AliCDBManager::Instance()->Get("ITS/Calib/RespSPD", run);
-    entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD", run);
-    entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD", run);
-       
-    AliCDBManager::Instance()->SetDefaultStorage(origStorage);
+       entrySPD = localStor->Get("ITS/Calib/CalibSPD", run);
+       entrySDD = localStor->Get("ITS/Calib/CalibSDD", run);
+       entrySSD = localStor->Get("ITS/Calib/CalibSSD", run);
+       entry2SPD = localStor->Get("ITS/Calib/RespSPD", run);
+       entry2SDD = localStor->Get("ITS/Calib/RespSDD", run);
+       entry2SSD = localStor->Get("ITS/Calib/RespSSD", run);
   }
 
+  if(!entrySPD || !entrySDD || !entrySSD || !entry2SPD || !entry2SDD || !entry2SSD){
+    AliError("Calibration data was not found in $ALICE_ROOT!");
+    return kFALSE;
+  }
 
   TObjArray *calSPD = (TObjArray *)entrySPD->GetObject();
   if(!isCacheActive)entrySPD->SetObject(NULL);