#include "AliESDHeader.h"
#include "AliTriggerScalersESD.h"
#include "AliTriggerScalersRecordESD.h"
+#include "AliTriggerIR.h"
+#include "AliLog.h"
ClassImp(AliESDHeader)
// default constructor
SetName("AliESDHeader");
+ for(Int_t i = 0; i<kNMaxIR ; i++) fIRArray[i] = 0;
+
}
AliESDHeader::~AliESDHeader()
{
// destructor
+ for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i])delete fIRArray[i];
}
fTriggerScalers(header.fTriggerScalers)
{
// copy constructor
-
SetName(header.fName);
SetTitle(header.fTitle);
+ for(Int_t i = 0; i<kNMaxIR ; i++) {
+ if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
+ else fIRArray[i]=0;
+ }
}
AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
fL1TriggerInputs = header.fL1TriggerInputs;
fL2TriggerInputs = header.fL2TriggerInputs;
fTriggerScalers = header.fTriggerScalers;
-
+ for(Int_t i = 0; i<kNMaxIR ; i++) {
+ if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
+ else fIRArray[i]=0;
+ }
SetName(header.fName);
SetTitle(header.fTitle);
fL1TriggerInputs = 0;
fL2TriggerInputs = 0;
fTriggerScalers.Reset();
+ for(Int_t i=0;i<kNMaxIR;i++)if(fIRArray[i]){
+ delete fIRArray[i];
+ fIRArray[i]=0;
+ }
+}
+//______________________________________________________________________________
+Bool_t AliESDHeader::AddTriggerIR(const AliTriggerIR* ir)
+{
+ // Adds trigger interaction record to array
+ for(Int_t i=0;i<kNMaxIR;i++){
+ if(!fIRArray[i]){
+ fIRArray[i]=const_cast<AliTriggerIR*>(ir);
+ return 0;
+ }
+ }
+ //AliErrorClass("Attempt to add # of IRs > kNMaxIR \n");
+ return 1;
}
-
//______________________________________________________________________________
void AliESDHeader::Print(const Option_t *) const
{