]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUON.cxx
coverity warnings fixed
[u/mrichter/AliRoot.git] / MUON / AliMUON.cxx
index b3eee0eb613f92af8b0d44c5f817b2c0e12bd295..adb3ab3c580a259e54507528983de67b9f707cfe 100644 (file)
@@ -22,6 +22,7 @@
 // providing simulation data management 
 //-----------------------------------------------------------------------------
 
+#include <TTree.h>
 #include "AliMUON.h"
 
 #include "AliMUONSDigitizerV2.h"
@@ -31,7 +32,7 @@
 #include "AliMUONCalibrationData.h"
 
 #include "AliMUONDigitStoreV1.h"
-#include "AliMUONVTriggerStore.h"
+#include "AliMUONTriggerStoreV1.h"
 #include "AliMUONHitStoreV1.h"
 
 #include "AliMUONChamberTrigger.h"
@@ -105,6 +106,7 @@ AliMUON::AliMUON()
     fDigitizerWithNoise(1),
     fDigitizerNSigmas(4.0),
     fIsTailEffect(kTRUE),
+    fConvertTrigger(kFALSE),
     fRawWriter(0x0),
     fDigitMaker(0x0),
     fHitStore(0x0),
@@ -143,6 +145,7 @@ AliMUON::AliMUON(const char *name, const char* title)
     fDigitizerWithNoise(1),
     fDigitizerNSigmas(4.0),
     fIsTailEffect(kTRUE),
+    fConvertTrigger(kFALSE),
     fRawWriter(0x0),
     fDigitMaker(new AliMUONDigitMaker),
     fHitStore(0x0),
@@ -523,11 +526,18 @@ Bool_t AliMUON::Raw2SDigits(AliRawReader* rawReader)
   TTree* treeS = fLoader->TreeS();
   
   AliMUONVDigitStore* sDigitStore = AliMUONVDigitStore::Create(DigitStoreClassName());
-  
+       AliMUONVTriggerStore* triggerStore = 0x0;
+       
   sDigitStore->Connect(*treeS);
-  
+       
   if (!fDigitMaker) fDigitMaker = new AliMUONDigitMaker;
-  
+       
+       if (fConvertTrigger) {
+               triggerStore = new AliMUONTriggerStoreV1;
+               triggerStore->Connect(*treeS,true);
+               fDigitMaker->SetMakeTriggerDigits(true);
+       }
+       
   if (!fDigitCalibrator)
   {
     AliMUONRecoParam* recoParam = 0x0;
@@ -544,18 +554,23 @@ Bool_t AliMUON::Raw2SDigits(AliRawReader* rawReader)
         for(Int_t i = 0; i < recoParamArray->GetEntriesFast(); ++i)
         {
           recoParam = static_cast<AliMUONRecoParam*>(recoParamArray->UncheckedAt(i));
-          if (recoParam->IsDefault()) break;
+          if (recoParam && recoParam->IsDefault()) break;
           recoParam = 0x0;
         }        
       }      
     }
     
+    if (!recoParam)
+    {
+      AliFatal("Cannot work without recoparams !");
+    }
+    
     TString calibMode = recoParam->GetCalibrationMode();
   
     fDigitCalibrator = new AliMUONDigitCalibrator(*fCalibrationData,recoParam,calibMode.Data());
   }
   
-  fDigitMaker->Raw2Digits(rawReader,sDigitStore,0x0);
+       fDigitMaker->Raw2Digits(rawReader,sDigitStore,triggerStore);
   
   fDigitCalibrator->Calibrate(*sDigitStore);
 
@@ -568,7 +583,6 @@ Bool_t AliMUON::Raw2SDigits(AliRawReader* rawReader)
   while ( ( sdigit = static_cast<AliMUONDigit*>(next()) ) )
   {
     sdigit->Calibrated(kFALSE);
-    sdigit->ChargeInFC();
   }
   
   treeS->Fill();
@@ -578,6 +592,8 @@ Bool_t AliMUON::Raw2SDigits(AliRawReader* rawReader)
   fLoader->UnloadSDigits();
   
   delete sDigitStore;
+       
+       delete triggerStore;
   
   return kTRUE;
 }