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$

#include "AliMUONHitStoreV1.h"

//-----------------------------------------------------------------------------
/// \class AliMUONHitStoreV1
///
/// Implementation of AliMUONVHitStore
///
/// \author Laurent Aphecetche, Subatech
//-----------------------------------------------------------------------------

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

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

//_____________________________________________________________________________
AliMUONHitStoreV1::AliMUONHitStoreV1(TRootIOCtor* /*dummy*/) : AliMUONVHitStore(),
fHits(0x0)
{
  /// default ctor from file
}

//_____________________________________________________________________________
AliMUONHitStoreV1::AliMUONHitStoreV1() : AliMUONVHitStore(),
 fHits(new TClonesArray("AliMUONHit",10))
{
   /// ctor
   fHits->SetOwner(kTRUE);
}

//_____________________________________________________________________________
AliMUONHitStoreV1::~AliMUONHitStoreV1()
{
  /// dtor
  delete fHits;
}

//_____________________________________________________________________________
void 
AliMUONHitStoreV1::Add(const AliMUONHit& hit)
{
  /// add a hit
  new((*fHits)[fHits->GetLast()+1]) AliMUONHit(hit);
}

//_____________________________________________________________________________
TCollection*
AliMUONHitStoreV1::Collection()
{
  return fHits;
}

//_____________________________________________________________________________
Bool_t 
AliMUONHitStoreV1::Connect(TTree& tree, Bool_t /*alone*/) const
{
  /// Connect this to tree.
  AliMUONTreeManager tman;
  Bool_t ok;
  
  if ( tree.GetBranch("MUONHits") )
  {
    ok = tman.SetAddress(tree,"MUONHits",HitsPtr());
  }
  else
  {
    ok = tman.MakeBranch(tree,ClassName(),"TClonesArray","MUONHits",
                         HitsPtr());
  }
  return ok;
}

//_____________________________________________________________________________
TIterator*
AliMUONHitStoreV1::CreateIterator() const
{
  /// create an iterator on hits
  return fHits->MakeIterator();
}

//____________________________________________________________________________
Int_t 
AliMUONHitStoreV1::GetSize() const
{
  return fHits->GetLast()+1;
}

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