3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
7 * Primary Authors: Jochen Thaeder <thaeder@kip.uni-heidelberg.de> *
8 * for The ALICE HLT Project. *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
19 /** @file AliHLTRunStatistics.cxx
20 @author Jochen Thaeder
22 @brief Base class for run statistics, for all detectors
25 // see header file for class documentation
27 // refer to README to build package
29 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
31 #include "AliHLTRunStatistics.h"
37 ClassImp(AliHLTRunStatistics)
39 AliHLTRunStatistics::AliHLTRunStatistics()
40 : TNamed("HLT", "HLT Run Statistics")
44 // see header file for class documentation
46 // refer to README to build package
48 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
51 AliHLTRunStatistics::AliHLTRunStatistics (const AliHLTRunStatistics& src)
53 , fNEvents(src.fNEvents)
56 // see header file for class documentation
57 for (int i=0; i<src.fMyObjects.GetEntriesFast(); i++) {
58 fMyObjects.Add(src.fMyObjects.Clone());
60 fMyObjects.SetOwner(kTRUE);
63 AliHLTRunStatistics& AliHLTRunStatistics::operator= (const AliHLTRunStatistics& src)
65 // see header file for class documentation
66 this->~AliHLTRunStatistics();
67 new (this) AliHLTRunStatistics(src);
71 AliHLTRunStatistics::~AliHLTRunStatistics()
73 // see header file for class documentation
77 void AliHLTRunStatistics::Print(Option_t* option) const
79 // see header file for class documentation
80 cout << "============ " << GetTitle() << " ============" << endl;
81 cout << "\t" << GetNEvents() << " event(s)" << endl;
82 for (int i=0; i<fMyObjects.GetEntriesFast(); i++) {
83 fMyObjects.Print(option);
85 cout << "==============================================" << endl;
88 void AliHLTRunStatistics::Copy(TObject &object) const
90 // copy this to the specified object
92 AliHLTRunStatistics* pStatistics=dynamic_cast<AliHLTRunStatistics*>(&object);
94 // copy members if target is a AliHLTTriggerDecision
98 // copy the base class
99 TObject::Copy(object);
102 TObject *AliHLTRunStatistics::Clone(const char */*newname*/) const
104 // create a new clone, classname is ignored
106 return new AliHLTRunStatistics(*this);
109 void AliHLTRunStatistics::Clear(Option_t * /*option*/)
116 int AliHLTRunStatistics::Add(const TObject* pObject)
118 // Add clone of object
120 if (!pObject) return -EINVAL;
121 fMyObjects.Add(pObject->Clone());