ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

// $Id$

//-----------------------------------------------------------------------------
/// \class AliMUONTriggerTrackStoreV1
///
/// Implementation of AliMUONVTriggerTrackStore which should be
/// backward compatible, i.e. able to read TreeT produced before
/// the introduction of the AliMUONVStore concept
///
/// \author Laurent Aphecetche, Subatech
//-----------------------------------------------------------------------------

#include "AliMUONTriggerTrackStoreV1.h"

#include <TClonesArray.h>
#include "AliMUONTreeManager.h"
#include "AliMUONTriggerTrack.h"
#include <TTree.h>

/// \cond CLASSIMP
ClassImp(AliMUONTriggerTrackStoreV1)
/// \endcond

//_____________________________________________________________________________
AliMUONTriggerTrackStoreV1::AliMUONTriggerTrackStoreV1(TRootIOCtor* /*dummy*/) : AliMUONVTriggerTrackStore(),
fTracks(0x0)
{
  /// ctor
}

//_____________________________________________________________________________
AliMUONTriggerTrackStoreV1::AliMUONTriggerTrackStoreV1() : AliMUONVTriggerTrackStore(),
 fTracks(new TClonesArray("AliMUONTriggerTrack",10))
{
   /// ctor
   fTracks->SetOwner(kTRUE);
}

//_____________________________________________________________________________
AliMUONTriggerTrackStoreV1::~AliMUONTriggerTrackStoreV1()
{
  /// Dtor
  delete fTracks;
}

//_____________________________________________________________________________
void 
AliMUONTriggerTrackStoreV1::Add(const AliMUONTriggerTrack& track)
{
  /// Add a new trigger track
  new((*fTracks)[fTracks->GetLast()+1]) AliMUONTriggerTrack(track);
}

//_____________________________________________________________________________
Bool_t
AliMUONTriggerTrackStoreV1::Connect(TTree& tree, Bool_t alone) const
{
  /// Connect this to the tree
  AliMUONTreeManager tman;
  Bool_t ok;
  
  if ( tree.GetBranch("MUONTriggerTrack") ) 
  {
    if ( alone ) tman.UpdateBranchStatuses(tree,"MUONTriggerTrack");
    ok = tman.SetAddress(tree,"MUONTriggerTrack",TracksPtr());
  }
  else
  {
    ok = tman.MakeBranch(tree,ClassName(),"TClonesArray","MUONTriggerTrack",
                         TracksPtr());
  }

  return kTRUE;
}

//_____________________________________________________________________________
Int_t
AliMUONTriggerTrackStoreV1::GetSize() const
{
  /// Return the number of trigger tracks we hold
  return fTracks->GetLast()+1;
}

//_____________________________________________________________________________
TIterator*
AliMUONTriggerTrackStoreV1::CreateIterator() const
{
  /// Return an iterator to loop over trigger tracks
  return fTracks->MakeIterator();
}

//_____________________________________________________________________________
void 
AliMUONTriggerTrackStoreV1::Clear(Option_t*)
{
  /// Reset
  fTracks->Clear("C");
}
 AliMUONTriggerTrackStoreV1.cxx:1
 AliMUONTriggerTrackStoreV1.cxx:2
 AliMUONTriggerTrackStoreV1.cxx:3
 AliMUONTriggerTrackStoreV1.cxx:4
 AliMUONTriggerTrackStoreV1.cxx:5
 AliMUONTriggerTrackStoreV1.cxx:6
 AliMUONTriggerTrackStoreV1.cxx:7
 AliMUONTriggerTrackStoreV1.cxx:8
 AliMUONTriggerTrackStoreV1.cxx:9
 AliMUONTriggerTrackStoreV1.cxx:10
 AliMUONTriggerTrackStoreV1.cxx:11
 AliMUONTriggerTrackStoreV1.cxx:12
 AliMUONTriggerTrackStoreV1.cxx:13
 AliMUONTriggerTrackStoreV1.cxx:14
 AliMUONTriggerTrackStoreV1.cxx:15
 AliMUONTriggerTrackStoreV1.cxx:16
 AliMUONTriggerTrackStoreV1.cxx:17
 AliMUONTriggerTrackStoreV1.cxx:18
 AliMUONTriggerTrackStoreV1.cxx:19
 AliMUONTriggerTrackStoreV1.cxx:20
 AliMUONTriggerTrackStoreV1.cxx:21
 AliMUONTriggerTrackStoreV1.cxx:22
 AliMUONTriggerTrackStoreV1.cxx:23
 AliMUONTriggerTrackStoreV1.cxx:24
 AliMUONTriggerTrackStoreV1.cxx:25
 AliMUONTriggerTrackStoreV1.cxx:26
 AliMUONTriggerTrackStoreV1.cxx:27
 AliMUONTriggerTrackStoreV1.cxx:28
 AliMUONTriggerTrackStoreV1.cxx:29
 AliMUONTriggerTrackStoreV1.cxx:30
 AliMUONTriggerTrackStoreV1.cxx:31
 AliMUONTriggerTrackStoreV1.cxx:32
 AliMUONTriggerTrackStoreV1.cxx:33
 AliMUONTriggerTrackStoreV1.cxx:34
 AliMUONTriggerTrackStoreV1.cxx:35
 AliMUONTriggerTrackStoreV1.cxx:36
 AliMUONTriggerTrackStoreV1.cxx:37
 AliMUONTriggerTrackStoreV1.cxx:38
 AliMUONTriggerTrackStoreV1.cxx:39
 AliMUONTriggerTrackStoreV1.cxx:40
 AliMUONTriggerTrackStoreV1.cxx:41
 AliMUONTriggerTrackStoreV1.cxx:42
 AliMUONTriggerTrackStoreV1.cxx:43
 AliMUONTriggerTrackStoreV1.cxx:44
 AliMUONTriggerTrackStoreV1.cxx:45
 AliMUONTriggerTrackStoreV1.cxx:46
 AliMUONTriggerTrackStoreV1.cxx:47
 AliMUONTriggerTrackStoreV1.cxx:48
 AliMUONTriggerTrackStoreV1.cxx:49
 AliMUONTriggerTrackStoreV1.cxx:50
 AliMUONTriggerTrackStoreV1.cxx:51
 AliMUONTriggerTrackStoreV1.cxx:52
 AliMUONTriggerTrackStoreV1.cxx:53
 AliMUONTriggerTrackStoreV1.cxx:54
 AliMUONTriggerTrackStoreV1.cxx:55
 AliMUONTriggerTrackStoreV1.cxx:56
 AliMUONTriggerTrackStoreV1.cxx:57
 AliMUONTriggerTrackStoreV1.cxx:58
 AliMUONTriggerTrackStoreV1.cxx:59
 AliMUONTriggerTrackStoreV1.cxx:60
 AliMUONTriggerTrackStoreV1.cxx:61
 AliMUONTriggerTrackStoreV1.cxx:62
 AliMUONTriggerTrackStoreV1.cxx:63
 AliMUONTriggerTrackStoreV1.cxx:64
 AliMUONTriggerTrackStoreV1.cxx:65
 AliMUONTriggerTrackStoreV1.cxx:66
 AliMUONTriggerTrackStoreV1.cxx:67
 AliMUONTriggerTrackStoreV1.cxx:68
 AliMUONTriggerTrackStoreV1.cxx:69
 AliMUONTriggerTrackStoreV1.cxx:70
 AliMUONTriggerTrackStoreV1.cxx:71
 AliMUONTriggerTrackStoreV1.cxx:72
 AliMUONTriggerTrackStoreV1.cxx:73
 AliMUONTriggerTrackStoreV1.cxx:74
 AliMUONTriggerTrackStoreV1.cxx:75
 AliMUONTriggerTrackStoreV1.cxx:76
 AliMUONTriggerTrackStoreV1.cxx:77
 AliMUONTriggerTrackStoreV1.cxx:78
 AliMUONTriggerTrackStoreV1.cxx:79
 AliMUONTriggerTrackStoreV1.cxx:80
 AliMUONTriggerTrackStoreV1.cxx:81
 AliMUONTriggerTrackStoreV1.cxx:82
 AliMUONTriggerTrackStoreV1.cxx:83
 AliMUONTriggerTrackStoreV1.cxx:84
 AliMUONTriggerTrackStoreV1.cxx:85
 AliMUONTriggerTrackStoreV1.cxx:86
 AliMUONTriggerTrackStoreV1.cxx:87
 AliMUONTriggerTrackStoreV1.cxx:88
 AliMUONTriggerTrackStoreV1.cxx:89
 AliMUONTriggerTrackStoreV1.cxx:90
 AliMUONTriggerTrackStoreV1.cxx:91
 AliMUONTriggerTrackStoreV1.cxx:92
 AliMUONTriggerTrackStoreV1.cxx:93
 AliMUONTriggerTrackStoreV1.cxx:94
 AliMUONTriggerTrackStoreV1.cxx:95
 AliMUONTriggerTrackStoreV1.cxx:96
 AliMUONTriggerTrackStoreV1.cxx:97
 AliMUONTriggerTrackStoreV1.cxx:98
 AliMUONTriggerTrackStoreV1.cxx:99
 AliMUONTriggerTrackStoreV1.cxx:100
 AliMUONTriggerTrackStoreV1.cxx:101
 AliMUONTriggerTrackStoreV1.cxx:102
 AliMUONTriggerTrackStoreV1.cxx:103
 AliMUONTriggerTrackStoreV1.cxx:104
 AliMUONTriggerTrackStoreV1.cxx:105
 AliMUONTriggerTrackStoreV1.cxx:106
 AliMUONTriggerTrackStoreV1.cxx:107
 AliMUONTriggerTrackStoreV1.cxx:108
 AliMUONTriggerTrackStoreV1.cxx:109
 AliMUONTriggerTrackStoreV1.cxx:110
 AliMUONTriggerTrackStoreV1.cxx:111
 AliMUONTriggerTrackStoreV1.cxx:112
 AliMUONTriggerTrackStoreV1.cxx:113