]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixing RC20 violations
authorlaphecet <laphecet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Jan 2012 14:51:58 +0000 (14:51 +0000)
committerlaphecet <laphecet@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Jan 2012 14:51:58 +0000 (14:51 +0000)
30 files changed:
MUON/AliMUONBlockHeader.cxx
MUON/AliMUONBlockHeader.h
MUON/AliMUONClusterStoreV2.cxx
MUON/AliMUONClusterStoreV2.h
MUON/AliMUONDDLTracker.cxx
MUON/AliMUONDDLTracker.h
MUON/AliMUONDDLTrigger.cxx
MUON/AliMUONDDLTrigger.h
MUON/AliMUONDarcHeader.cxx
MUON/AliMUONDarcHeader.h
MUON/AliMUONDigitStoreV1.cxx
MUON/AliMUONDigitStoreV1.h
MUON/AliMUONDspHeader.cxx
MUON/AliMUONDspHeader.h
MUON/AliMUONHitStoreV1.cxx
MUON/AliMUONHitStoreV1.h
MUON/AliMUONPainterPadStore.cxx
MUON/AliMUONPainterPadStore.h
MUON/AliMUONRawStreamTracker.cxx
MUON/AliMUONRawStreamTracker.h
MUON/AliMUONRawStreamTrigger.cxx
MUON/AliMUONRawStreamTrigger.h
MUON/AliMUONRawWriter.cxx
MUON/AliMUONRegHeader.cxx
MUON/AliMUONRegHeader.h
MUON/AliMUONTrackStoreV1.cxx
MUON/AliMUONTrackStoreV1.h
MUON/AliMUONTriggerTrackStoreV1.cxx
MUON/AliMUONTriggerTrackStoreV1.h
MUON/MUONTriggerEfficiency.C

index 5fd1ad490750e613eea6162288cb643fe123494c..c39085751927b8dd6badc24a63001298ebfd80aa 100644 (file)
@@ -38,6 +38,26 @@ ClassImp(AliMUONBlockHeader)
 const Int_t  AliMUONBlockHeader::fgkHeaderLength   = 8;
 const UInt_t AliMUONBlockHeader::fgkDefaultDataKey = 0xFC0000FC;
 const UInt_t AliMUONBlockHeader::fgkDdlDataKey     = 0xD000000D;
+
+//___________________________________________
+AliMUONBlockHeader::AliMUONBlockHeader(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fDataKey(0),
+fTotalLength(0),
+fLength(0),
+fDspId(0),
+fL0Trigger(0),
+fMiniEventId(0),
+fEventId1(0),
+fEventId2(0),
+fDspHeaderArray(0x0)
+{
+  ///
+  /// ctor
+  ///
+  
+}
+
 //___________________________________________
 AliMUONBlockHeader::AliMUONBlockHeader()
   :  TObject(),
index 509b9b13456d85d61698f0ef95fd1b9f4bd61cff..aec5b12d61f78f467eaac9573bf753dbc5df188c 100644 (file)
@@ -20,6 +20,7 @@ class AliMUONBlockHeader : public TObject {
 
 public:
    AliMUONBlockHeader();
+   AliMUONBlockHeader(TRootIOCtor* dummy);
    AliMUONBlockHeader(const AliMUONBlockHeader &event);
    AliMUONBlockHeader& operator=(const AliMUONBlockHeader &event);
 
index 2a7d76bd51a84357b6bc60c7eb732b2482038f71..8d06032b5c76110ce7409827f48ce4b0afa64754 100644 (file)
 ClassImp(AliMUONClusterStoreV2)
 /// \endcond
 
+//_____________________________________________________________________________
+AliMUONClusterStoreV2::AliMUONClusterStoreV2(TRootIOCtor* /*dummy*/)
+: AliMUONVClusterStore(), 
+fClusters(0x0),
+fMap(0x0),
+fMapped(kFALSE)
+{
+  /// Dummy IO ctor that does not allocate memory
+}
+
 //_____________________________________________________________________________
 AliMUONClusterStoreV2::AliMUONClusterStoreV2() 
 : AliMUONVClusterStore(), 
@@ -91,14 +101,17 @@ AliMUONClusterStoreV2::~AliMUONClusterStoreV2()
 void AliMUONClusterStoreV2::Clear(Option_t*)
 {
   /// Clear the internal cluster array AND the index
-  fClusters->Clear("C");
-  if (fMap) {
-    Int_t nChamber = AliMpConstants::NofTrackingChambers();
-    for (Int_t chamber=0; chamber<nChamber; chamber++) {
-      AliMpExMap *map = static_cast<AliMpExMap *>(fMap->UncheckedAt(chamber));
-      map->Clear("C");
+  if ( fClusters ) 
+  {
+    fClusters->Clear("C");
+    if (fMap) {
+      Int_t nChamber = AliMpConstants::NofTrackingChambers();
+      for (Int_t chamber=0; chamber<nChamber; chamber++) {
+        AliMpExMap *map = static_cast<AliMpExMap *>(fMap->UncheckedAt(chamber));
+        map->Clear("C");
+      }
+      fMapped = kFALSE;
     }
-    fMapped = kFALSE;
   }
 }
 
index 7be38110c3968981a6045d665050e541e249f0da..47a7ba272f5848c42ce93228e96c646df11facab 100644 (file)
@@ -25,6 +25,7 @@ class AliMUONClusterStoreV2 : public AliMUONVClusterStore
   
 public:
   AliMUONClusterStoreV2();
+  AliMUONClusterStoreV2(TRootIOCtor* dummy);
   AliMUONClusterStoreV2(const AliMUONClusterStoreV2& store);
   AliMUONClusterStoreV2& operator=(const AliMUONClusterStoreV2& store);  
   virtual ~AliMUONClusterStoreV2();
index 74d56541d2beb7105f399535875af207b4255a82..afd30c3761326798e734ad0359ed1351500d719b 100644 (file)
 ClassImp(AliMUONDDLTracker)
 /// \endcond
 
+//___________________________________________
+AliMUONDDLTracker::AliMUONDDLTracker(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fBlkHeaderArray(0x0)
+{
+  ///
+  ///ctor
+  ///
+}
+
 //___________________________________________
 AliMUONDDLTracker::AliMUONDDLTracker()
   :  TObject(),
index 162f8762c4570039db45ec0b8829d93ca93aeb3b..118e89a5fbfb7fd4bdf085534495077d879748c1 100644 (file)
@@ -22,6 +22,7 @@ class AliMUONDDLTracker : public TObject {
 
 public:
    AliMUONDDLTracker();
+   AliMUONDDLTracker(TRootIOCtor* dummy);
    virtual ~AliMUONDDLTracker();
  
    void    AddBusPatch(const AliMUONBusStruct& busPatch, Int_t iBlock, Int_t iDsp);
index 546bfaebbddc79fab91ad5f383008e7f65018ee1..06334ecb7fbd969b85be8ea4f55cbaaf7caba84c 100644 (file)
 ClassImp(AliMUONDDLTrigger)
 /// \endcond
 
+
+//___________________________________________
+AliMUONDDLTrigger::AliMUONDDLTrigger(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fDarcHeader(0x0)
+{
+  ///ctor
+}
+
 //___________________________________________
 AliMUONDDLTrigger::AliMUONDDLTrigger()
   :  TObject(),
index 9ed440f5dd131e5926943445a607f84762c8a2b8..854112ba9e3eb51c833997d966dfc3aca0a37366 100644 (file)
@@ -21,6 +21,7 @@ class AliMUONDDLTrigger : public TObject {
  
 public:
    AliMUONDDLTrigger();
+   AliMUONDDLTrigger(TRootIOCtor* dummy);
    virtual ~AliMUONDDLTrigger();
 
 
index 6d3c8c52801132fc8da7bd112fd193517211ea97..a6137f9d8e7e1dff5b1f550202967d7e0b521b6a 100644 (file)
@@ -44,6 +44,28 @@ ClassImp(AliMUONDarcHeader)
  const UInt_t AliMUONDarcHeader::fgkDarcVadorhType    = 4;
  const UInt_t AliMUONDarcHeader::fgkDarcDefaultType   = 6;
 
+//___________________________________________
+AliMUONDarcHeader::AliMUONDarcHeader(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fWord(0),
+fGlobalOutput(0),
+fGlobalL0(0), 
+fGlobalClk(0),
+fGlobalHold(0),      
+fGlobalSpare(0),     
+fDarcL0R(0),
+fDarcL1P(0),
+fDarcL1S(0),
+fDarcL2A(0),
+fDarcL2R(0),
+fDarcClk(0),
+fDarcHold(0),
+fDarcSpare(0),
+fRegHeaderArray(0x0)
+{
+  /// ctor
+}
+
 //___________________________________________
 AliMUONDarcHeader::AliMUONDarcHeader()
   :  TObject(),
index 158dd6cf6de74fb443191de45c042aaecd80865d..25ac36bfdd1c8cc3961783a86ac608a708a690dd 100644 (file)
@@ -20,6 +20,7 @@ class AliMUONDarcHeader : public TObject {
  
 public:
    AliMUONDarcHeader();
+   AliMUONDarcHeader(TRootIOCtor* dummy);
    AliMUONDarcHeader(const AliMUONDarcHeader& event);
    AliMUONDarcHeader& operator=(const AliMUONDarcHeader& event);
 
index 6c54941c471b46d0605c4df5beac1779df283a26..8331a3ba5245632f225210305ef5f0618f7db12a 100644 (file)
@@ -56,6 +56,15 @@ namespace
   }
 }
 
+//_____________________________________________________________________________
+AliMUONDigitStoreV1::AliMUONDigitStoreV1(TRootIOCtor* /*dummy*/)
+: AliMUONVDigitStore(), 
+fDigits(0x0),
+fChamberDigits(0x0)
+{
+  /// ctor
+}
+
 //_____________________________________________________________________________
 AliMUONDigitStoreV1::AliMUONDigitStoreV1()
 : AliMUONVDigitStore(), 
index db942b5baff83230038b3b2363d037388f4a5922..6e11265334f6147dc2d30f5a5b9d41d350a31956 100644 (file)
@@ -23,6 +23,7 @@ class AliMUONDigitStoreV1 : public AliMUONVDigitStore
 {
 public:
   AliMUONDigitStoreV1();
+  AliMUONDigitStoreV1(TRootIOCtor* dummy);
   AliMUONDigitStoreV1(const AliMUONDigitStoreV1& rhs);
   AliMUONDigitStoreV1& operator=(const AliMUONDigitStoreV1& rhs);  
   virtual ~AliMUONDigitStoreV1();
index 8de2119a7cac0eea18310bc10545fd3123938870..8c01ac9fcf651d9b48f821a877f77e0b604c9f14 100644 (file)
@@ -38,6 +38,27 @@ ClassImp(AliMUONDspHeader)
   const UInt_t AliMUONDspHeader::fgkDefaultDataKey = 0xF000000F;
   const UInt_t AliMUONDspHeader::fgkDefaultPaddingWord = 0xBEEFFACE;
 
+//___________________________________________
+AliMUONDspHeader::AliMUONDspHeader(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fDataKey(0),
+fTotalLength(0),
+fLength(0),
+fDspId(0),
+fBlkL1ATrigger(0),
+fMiniEventId(0),
+fL1ATrigger(0),
+fL1RTrigger(0),
+fPaddingWord(0),
+fErrorWord(0),
+fBusPatchArray(0x0)
+{
+  ///
+  ///ctor
+  ///
+  
+}
+
 //___________________________________________
 AliMUONDspHeader::AliMUONDspHeader()
   :  TObject(),
index 5148980bdbac462e2696b868cfd16ea777002275..571624e5a838ecd5a62c35a66475e21d49cb3335 100644 (file)
@@ -20,6 +20,7 @@ class AliMUONDspHeader : public TObject {
 
 public:
    AliMUONDspHeader();
+  AliMUONDspHeader(TRootIOCtor* dummy);
    AliMUONDspHeader(const AliMUONDspHeader& event);
    AliMUONDspHeader& operator=(const AliMUONDspHeader& event);
 
index 16770781d141b07c2ebfc61f0ef213dfeb526ef2..091d7f20a2747caf33e1bdeda1e3700f63d54df6 100644 (file)
 ClassImp(AliMUONHitStoreV1)
 /// \endcond
 
+//_____________________________________________________________________________
+AliMUONHitStoreV1::AliMUONHitStoreV1(TRootIOCtor* /*dummy*/) : AliMUONVHitStore(),
+fHits(0x0)
+{
+  /// default ctor from file
+}
+
 //_____________________________________________________________________________
 AliMUONHitStoreV1::AliMUONHitStoreV1() : AliMUONVHitStore(),
  fHits(new TClonesArray("AliMUONHit",10))
index c6c308b2407a1345ed2f6530de70ad823e3be3b9..aca236b883be6bd6a16407f81bd826438b3d8d7a 100644 (file)
@@ -22,6 +22,7 @@ class AliMUONHitStoreV1 : public AliMUONVHitStore
 {
 public:
   AliMUONHitStoreV1();
+  AliMUONHitStoreV1(TRootIOCtor* /*dummy*/);
   virtual ~AliMUONHitStoreV1();
   
   using AliMUONVHitStore::Add;
index cfa2bd0d6f2c3d5500ef644699e0a6ca3c0299ce..af8393a64b9844fa2d23c65a4feb0d001c916140 100644 (file)
 ClassImp(AliMUONPainterPadStore)
 ///\endcond
 
+//_____________________________________________________________________________
+AliMUONPainterPadStore::AliMUONPainterPadStore(TRootIOCtor* /*dummy*/) : TObject(),
+fPadStore(0x0)
+{
+  /// ctor
+}
+
 //_____________________________________________________________________________
 AliMUONPainterPadStore::AliMUONPainterPadStore() : TObject(),
   fPadStore(new AliMUON2DMap(kTRUE))
index 4d8181c2735e2e1b8bac334adc543116b4344492..fb857a8ed7ea1a1b012da35c2fb9b0545ea20c49 100644 (file)
@@ -25,6 +25,7 @@ class AliMUONPainterPadStore : public TObject
 {
 public:
   AliMUONPainterPadStore();
+  AliMUONPainterPadStore(TRootIOCtor* dummy);
   virtual ~AliMUONPainterPadStore();
 
   Int_t FindPadID(const TArrayI& pads, Double_t x, Double_t y) const;
index 41c6e1de90d235ac49d0901073201dbd90056fbf..81b78dfdaca16b7a03ce4b28eb8896ea24c38eb8 100644 (file)
 ClassImp(AliMUONRawStreamTracker)
 /// \endcond
 
+
+//___________________________________________
+AliMUONRawStreamTracker::AliMUONRawStreamTracker(TRootIOCtor* /*dummy*/)
+: AliMUONVRawStreamTracker(),
+fPayload(0x0),
+fCurrentDDL(0),
+fCurrentDDLIndex(fgkMaxDDL),
+fCurrentBlockHeader(0),
+fCurrentBlockHeaderIndex(0),
+fCurrentDspHeader(0),
+fCurrentDspHeaderIndex(0),
+fCurrentBusStruct(0),
+fCurrentBusStructIndex(0),
+fCurrentDataIndex(0),
+fDDL(0)
+{
+  ///
+  /// create an object to read MUON raw digits
+  /// Default ctor with no memory allocation for I/O
+  ///
+}
+
 //___________________________________________
 AliMUONRawStreamTracker::AliMUONRawStreamTracker()
  : AliMUONVRawStreamTracker(),
index ae0339da5dcb0e2f750beb8dd44ae07e8c720d17..e580d56a7c023a9e4302a17bf0621582b2acb375 100644 (file)
@@ -24,6 +24,7 @@ class AliMUONBlockHeader;
 class AliMUONRawStreamTracker: public AliMUONVRawStreamTracker {
   public :
     AliMUONRawStreamTracker();
+    AliMUONRawStreamTracker(TRootIOCtor* dummy);
     AliMUONRawStreamTracker(AliRawReader* rawReader);
     virtual ~AliMUONRawStreamTracker();
 
index c0c48f9ca6e082534b40d899faf4413dd194cedc..171156e1e96ffe64d53baf6e72bf7c9707d0b22f 100644 (file)
@@ -51,6 +51,27 @@ ClassImp(AliMUONRawStreamTrigger)
 
 const Int_t AliMUONRawStreamTrigger::fgkMaxDDL = 2;
 
+//___________________________________________
+AliMUONRawStreamTrigger::AliMUONRawStreamTrigger(TRootIOCtor* /*dummy*/)
+:   AliMUONVRawStreamTrigger(),
+fPayload(0x0),
+fCurrentDDL(0x0),
+fCurrentDDLIndex(fgkMaxDDL),
+fCurrentDarcHeader(0x0),
+fCurrentRegHeader(0x0),
+fCurrentRegHeaderIndex(0),
+fCurrentLocalStruct(0x0),
+fCurrentLocalStructIndex(0),
+fLocalStructRead(kFALSE),
+fDDL(0),
+fNextDDL(kFALSE)
+{
+  ///
+  /// create an object to read MUON raw digits
+  /// Default ctor with no mem allocation for I/O
+  ///
+}
+
 //___________________________________________
 AliMUONRawStreamTrigger::AliMUONRawStreamTrigger()
 :   AliMUONVRawStreamTrigger(),
index 07bb52284731502fbfcdc0fcf3b022a6d1829023..2bd0b3bdca664b19efe4eb47b8f60dc07b874098 100644 (file)
@@ -25,6 +25,7 @@ class AliMUONLocalStruct;
 class AliMUONRawStreamTrigger: public AliMUONVRawStreamTrigger {
   public :
     AliMUONRawStreamTrigger();
+    AliMUONRawStreamTrigger(TRootIOCtor* dummy);
     AliMUONRawStreamTrigger(AliRawReader* rawReader);
     virtual ~AliMUONRawStreamTrigger();
 
index ba24638909ffa071e351789d98966b5d7eef621c..d783d441343da0765c2f3ef031dfe37f96ec0cbe 100644 (file)
@@ -644,28 +644,29 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
          if (localBoard->IsNotified()) {// if notified board 
            AliMUONLocalTrigger* locTrg = triggerStore.FindLocal(localBoardId);
 
-           locCard = locTrg->LoCircuit();
-           locDec  = locTrg->GetLoDecision();
-           trigY   = locTrg->LoTrigY();
-           posY    = locTrg->LoStripY();
-           posX    = locTrg->LoStripX();
-           devX    = locTrg->LoDev();
-           sdevX   = locTrg->LoSdev();
-                 
-           AliDebug(4,Form("loctrg %d, posX %d, posY %d, devX %d\n", 
-                           locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoStripY(),locTrg->LoDev()));  
-           //packing word
-           word = 0;
-           LocalWordPacking(word, (UInt_t)iLoc, (UInt_t)locDec, (UInt_t)trigY, (UInt_t)posY, 
-                            (UInt_t)posX, (UInt_t)sdevX, (UInt_t)devX);
-
-           buffer[index++] = (locTrg->GetX1Pattern() | (locTrg->GetX2Pattern() << 16));
-           buffer[index++] = (locTrg->GetX3Pattern() | (locTrg->GetX4Pattern() << 16));
-           buffer[index++] = (locTrg->GetY1Pattern() | (locTrg->GetY2Pattern() << 16));
-           buffer[index++] = (locTrg->GetY3Pattern() | (locTrg->GetY4Pattern() << 16));
-           buffer[index++] = (Int_t)word; // data word
-                     
-               
+      if (locTrg)
+      {
+        locCard = locTrg->LoCircuit();
+        locDec  = locTrg->GetLoDecision();
+        trigY   = locTrg->LoTrigY();
+        posY    = locTrg->LoStripY();
+        posX    = locTrg->LoStripX();
+        devX    = locTrg->LoDev();
+        sdevX   = locTrg->LoSdev();
+        
+        AliDebug(4,Form("loctrg %d, posX %d, posY %d, devX %d\n", 
+                        locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoStripY(),locTrg->LoDev()));  
+        //packing word
+        word = 0;
+        LocalWordPacking(word, (UInt_t)iLoc, (UInt_t)locDec, (UInt_t)trigY, (UInt_t)posY, 
+                         (UInt_t)posX, (UInt_t)sdevX, (UInt_t)devX);
+        
+        buffer[index++] = (locTrg->GetX1Pattern() | (locTrg->GetX2Pattern() << 16));
+        buffer[index++] = (locTrg->GetX3Pattern() | (locTrg->GetX4Pattern() << 16));
+        buffer[index++] = (locTrg->GetY1Pattern() | (locTrg->GetY2Pattern() << 16));
+        buffer[index++] = (locTrg->GetY3Pattern() | (locTrg->GetY4Pattern() << 16));
+        buffer[index++] = (Int_t)word; // data word
+      }
          }
          // fill copy card X-Y inputs from the notified cards 
          if (localBoard->GetInputXfrom() && localBoard->GetInputYfrom()) 
@@ -679,11 +680,14 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
            Int_t localFromId = localBoard->GetInputXfrom();
            AliMUONLocalTrigger* locTrgfrom  = triggerStore.FindLocal(localFromId);
 
-           buffer[index++] = 0; // copy only X3-4 & Y1-4
-           buffer[index++] = (locTrgfrom->GetX3Pattern() | (locTrgfrom->GetX4Pattern() << 16));
-           buffer[index++] = (locTrgfrom->GetY1Pattern() | (locTrgfrom->GetY2Pattern() << 16));
-           buffer[index++] = (locTrgfrom->GetY3Pattern() | (locTrgfrom->GetY4Pattern() << 16));
-           buffer[index++] = word;
+      if ( locTrgfrom ) 
+      {
+        buffer[index++] = 0; // copy only X3-4 & Y1-4
+        buffer[index++] = (locTrgfrom->GetX3Pattern() | (locTrgfrom->GetX4Pattern() << 16));
+        buffer[index++] = (locTrgfrom->GetY1Pattern() | (locTrgfrom->GetY2Pattern() << 16));
+        buffer[index++] = (locTrgfrom->GetY3Pattern() | (locTrgfrom->GetY4Pattern() << 16));
+        buffer[index++] = word;
+      }
          }
 
        } else { 
index 93cb2a0b1bb1247fc92c3eaae9961cbcb0d13eb6..c19ac6d4d5f347fb51ea158995937623dde10188 100644 (file)
@@ -39,6 +39,20 @@ ClassImp(AliMUONRegHeader)
  const UInt_t AliMUONRegHeader::fgkEndOfReg     = 0xBEEFFACE;
  const UInt_t AliMUONRegHeader::fgkErrorWord    = 0xCAFEDEAD;
 
+//___________________________________________
+AliMUONRegHeader::AliMUONRegHeader(TRootIOCtor* /*dummy*/)
+:  TObject(),
+fDarcWord(0),
+fWord(0),
+fMask(0),
+fL0(0),
+fClk(0),
+fHold(0),
+fLocalArray(0x0)
+{
+  /// ctor
+}
+
 //___________________________________________
 AliMUONRegHeader::AliMUONRegHeader()
   :  TObject(),
index db4aaed0ca95d1eb72e7fe7657183d4f2eedf7c1..2794521fde61527141e1647b751fd2c7befdd200 100644 (file)
@@ -20,6 +20,7 @@ class AliMUONRegHeader : public TObject{
  
 public:
    AliMUONRegHeader();
+  AliMUONRegHeader(TRootIOCtor* dummy);
    AliMUONRegHeader(const AliMUONRegHeader& event);
    AliMUONRegHeader& operator=(const AliMUONRegHeader& event);
 
index 1d6dee6590734e872751961b4fc35b88370b9fd4..ba048e7394011e079454cfb228e7bf32446b16be 100644 (file)
@@ -28,6 +28,7 @@
 
 #include <TClonesArray.h>
 #include <TTree.h>
+#include "AliLog.h"
 #include "AliMUONTrack.h"
 #include "AliMUONTreeManager.h"
 
@@ -37,9 +38,17 @@ ClassImp(AliMUONTrackStoreV1)
 
 //_____________________________________________________________________________
 AliMUONTrackStoreV1::AliMUONTrackStoreV1() : AliMUONVTrackStore(),
- fTracks(new TClonesArray("AliMUONTrack",10))
+ fTracks(0x0)
 {
    /// Ctor
+  CreateTracks();
+}
+
+//_____________________________________________________________________________
+AliMUONTrackStoreV1::AliMUONTrackStoreV1(TRootIOCtor* /*dummy*/) : AliMUONVTrackStore(),
+fTracks(0x0)
+{
+  /// Ctor
 }
 
 //_____________________________________________________________________________
@@ -54,6 +63,9 @@ AliMUONTrack*
 AliMUONTrackStoreV1::Add(const AliMUONTrack& track)
 {
   /// Add a track
+  
+  if (!fTracks) CreateTracks();
+
   return new((*fTracks)[fTracks->GetLast()+1]) AliMUONTrack(track);
 }
 
@@ -73,6 +85,7 @@ AliMUONTrackStoreV1::Connect(TTree& tree, Bool_t alone) const
 {
   /// Connect this store to the tree
   AliMUONTreeManager tman;
+  
   Bool_t ok;
   
   if ( tree.GetBranch("MUONTrack") )
@@ -93,7 +106,8 @@ TIterator*
 AliMUONTrackStoreV1::CreateIterator() const
 {
   /// Create an iterator to loop over tracks
-  return fTracks->MakeIterator();
+  if ( fTracks ) return fTracks->MakeIterator();
+  return 0x0;
 }
 
 //_____________________________________________________________________________
@@ -101,7 +115,22 @@ void
 AliMUONTrackStoreV1::Clear(Option_t*)
 {
   /// Reset
-  fTracks->Clear("C");
+  if (fTracks) fTracks->Clear("C");
+}
+
+//_____________________________________________________________________________
+void
+AliMUONTrackStoreV1::CreateTracks()
+{
+  /// Allocate track container
+  if (fTracks) 
+  {
+    AliError("Cannot allocate again fTracks as it is there already !");
+  }
+  else
+  {
+    fTracks = new TClonesArray("AliMUONTrack",10);
+  }
 }
 
 //_____________________________________________________________________________
@@ -109,5 +138,6 @@ Int_t
 AliMUONTrackStoreV1::GetSize() const
 {
   /// Return the number of tracks we hold
-  return fTracks->GetLast()+1;
+  if ( fTracks ) return fTracks->GetLast()+1;
+  return 0;
 }
index 21d798a55632b52f80f9d228ab5c0487259f39c4..a0bef8adbd70cf36f17ce0dbd99b409a2dd4dca2 100644 (file)
@@ -22,6 +22,7 @@ class AliMUONTrackStoreV1 : public AliMUONVTrackStore
 {
 public:
   AliMUONTrackStoreV1();
+  AliMUONTrackStoreV1(TRootIOCtor* dummy);
   virtual ~AliMUONTrackStoreV1();
   
   using AliMUONVTrackStore::Add;
@@ -49,6 +50,8 @@ private:
     /// Return the tracks array
     TClonesArray* Tracks() const { return fTracks; }
   
+    void CreateTracks(); 
+  
     /// Return the address of the tracks array
     TClonesArray** TracksPtr() const { return const_cast<TClonesArray**>(&fTracks); }
 
index 54a135e66c40a893433a1170230ebc32b446fad7..9dc338578fa820bf812cade077c1a9208fed3246 100644 (file)
 ClassImp(AliMUONTriggerTrackStoreV1)
 /// \endcond
 
+//_____________________________________________________________________________
+AliMUONTriggerTrackStoreV1::AliMUONTriggerTrackStoreV1(TRootIOCtor* /*dummy*/) : AliMUONVTriggerTrackStore(),
+fTracks(0x0)
+{
+  /// ctor
+  fTracks->SetOwner(kTRUE);
+}
+
 //_____________________________________________________________________________
 AliMUONTriggerTrackStoreV1::AliMUONTriggerTrackStoreV1() : AliMUONVTriggerTrackStore(),
  fTracks(new TClonesArray("AliMUONTriggerTrack",10))
index c12a891b59c2c67b8840319bbf3af5522f2787e1..da35511e2f33e8a6f422c68230b145fdb833eee3 100644 (file)
@@ -22,6 +22,7 @@ class AliMUONTriggerTrackStoreV1 : public AliMUONVTriggerTrackStore
 {
 public:
   AliMUONTriggerTrackStoreV1();
+  AliMUONTriggerTrackStoreV1(TRootIOCtor* dummy);
   virtual ~AliMUONTriggerTrackStoreV1();
   
   using AliMUONVTriggerTrackStore::Add;
index 2a8c1d6b27418878548af3817269bf4a2aedf559..b867968f159f13c68989fa3f3457f2e0f0844664 100644 (file)
@@ -68,7 +68,8 @@ void MUONTriggerEfficiency(const char* filenameSim="galice_sim.root",
   // Set default CDB storage
   AliCDBManager* man = AliCDBManager::Instance();
   man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
-
+  man->SetRun(0);
+  
   // output file
   
   AliMUONMCDataInterface diSim(filenameSim);