]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerTrackStoreV1.cxx
Fix for ESD analysis
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerTrackStoreV1.cxx
CommitLineData
09784d5b 1/**************************************************************************
2* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3* *
4* Author: The ALICE Off-line Project. *
5* Contributors are mentioned in the code where appropriate. *
6* *
7* Permission to use, copy, modify and distribute this software and its *
8* documentation strictly for non-commercial purposes is hereby granted *
9* without fee, provided that the above copyright notice appears in all *
10* copies and that both the copyright notice and this permission notice *
11* appear in the supporting documentation. The authors make no claims *
12* about the suitability of this software for any purpose. It is *
13* provided "as is" without express or implied warranty. *
14**************************************************************************/
15
16// $Id$
17
3d1463c8 18//-----------------------------------------------------------------------------
09784d5b 19/// \class AliMUONTriggerTrackStoreV1
20///
21/// Implementation of AliMUONVTriggerTrackStore which should be
22/// backward compatible, i.e. able to read TreeT produced before
23/// the introduction of the AliMUONVStore concept
24///
25/// \author Laurent Aphecetche, Subatech
3d1463c8 26//-----------------------------------------------------------------------------
09784d5b 27
28#include "AliMUONTriggerTrackStoreV1.h"
29
30#include <TClonesArray.h>
31#include "AliMUONTreeManager.h"
32#include "AliMUONTriggerTrack.h"
33#include <TTree.h>
34
35/// \cond CLASSIMP
36ClassImp(AliMUONTriggerTrackStoreV1)
37/// \endcond
38
ce350193 39//_____________________________________________________________________________
40AliMUONTriggerTrackStoreV1::AliMUONTriggerTrackStoreV1(TRootIOCtor* /*dummy*/) : AliMUONVTriggerTrackStore(),
41fTracks(0x0)
42{
43 /// ctor
ce350193 44}
45
09784d5b 46//_____________________________________________________________________________
47AliMUONTriggerTrackStoreV1::AliMUONTriggerTrackStoreV1() : AliMUONVTriggerTrackStore(),
48 fTracks(new TClonesArray("AliMUONTriggerTrack",10))
49{
50 /// ctor
51 fTracks->SetOwner(kTRUE);
52}
53
54//_____________________________________________________________________________
55AliMUONTriggerTrackStoreV1::~AliMUONTriggerTrackStoreV1()
56{
57 /// Dtor
58 delete fTracks;
59}
60
61//_____________________________________________________________________________
62void
63AliMUONTriggerTrackStoreV1::Add(const AliMUONTriggerTrack& track)
64{
65 /// Add a new trigger track
66 new((*fTracks)[fTracks->GetLast()+1]) AliMUONTriggerTrack(track);
67}
68
69//_____________________________________________________________________________
70Bool_t
71AliMUONTriggerTrackStoreV1::Connect(TTree& tree, Bool_t alone) const
72{
73 /// Connect this to the tree
74 AliMUONTreeManager tman;
75 Bool_t ok;
76
77 if ( tree.GetBranch("MUONTriggerTrack") )
78 {
79 if ( alone ) tman.UpdateBranchStatuses(tree,"MUONTriggerTrack");
80 ok = tman.SetAddress(tree,"MUONTriggerTrack",TracksPtr());
81 }
82 else
83 {
84 ok = tman.MakeBranch(tree,ClassName(),"TClonesArray","MUONTriggerTrack",
85 TracksPtr());
86 }
87
88 return kTRUE;
89}
90
91//_____________________________________________________________________________
92Int_t
93AliMUONTriggerTrackStoreV1::GetSize() const
94{
95 /// Return the number of trigger tracks we hold
78f65d6b 96 return fTracks->GetLast()+1;
09784d5b 97}
98
99//_____________________________________________________________________________
100TIterator*
101AliMUONTriggerTrackStoreV1::CreateIterator() const
102{
103 /// Return an iterator to loop over trigger tracks
104 return fTracks->MakeIterator();
105}
106
107//_____________________________________________________________________________
108void
109AliMUONTriggerTrackStoreV1::Clear(Option_t*)
110{
111 /// Reset
112 fTracks->Clear("C");
113}