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: AliFileTag.cxx 14745 2006-08-04 15:48:44Z panos $ */

//-----------------------------------------------------------------
//           Implementation of the FileTag class
//   This is the class to deal with the tags in the file level
//   Origin: Adam Kisiel, CERN, Adam.Kisiel@cern.ch
//-----------------------------------------------------------------

#include "AliFileTag.h"
#include <stdlib.h>

ClassImp(AliFileTag)

//___________________________________________________________________________
AliFileTag::AliFileTag() : 
  TObject(),  
  fGUID(""),
  fPath(""),
  fsize(0),
  fmd5(""),
  fturl(""),
  fEventTags(1000)
{
  // AliFileTag default constructor
  
}

AliFileTag::AliFileTag(const AliFileTag &tag):
  TObject(tag),
  fGUID(tag.fGUID),
  fPath(tag.fPath),
  fsize(tag.fsize),
  fmd5(tag.fmd5),
  fturl(tag.fturl),
  fEventTags(10000)
{
  for (int iev=0; iev<tag.GetNEvents(); iev++)
    AddEventTag(*(tag.GetEventTag(iev)));
}

AliFileTag &AliFileTag::operator=(const AliFileTag &tag)
{
  if (this != &tag) {
    TObject::operator=(tag);

    SetGUID(tag.GetGUID());
    SetPath(tag.GetPath());
    SetSize(tag.GetSize());
    SetMD5(tag.GetMD5());
    SetTURL(tag.GetTURL());
    
    for (int iev=0; iev<tag.GetNEvents(); iev++)
      AddEventTag(*(tag.GetEventTag(iev)));
  }

  return *this;
}

//___________________________________________________________________________
AliFileTag::~AliFileTag() {
  // AliEventTag destructor
  //  fEventTag.Delete();
  fEventTags.Delete();
}

//___________________________________________________________________________
void AliFileTag::AddEventTag(const AliEventTag & EvTag) {
  //Adds an entry to the event tag TClonesArray

  fEventTags.Add(new AliEventTag(EvTag));
}

void AliFileTag::CopyFileInfo(const AliFileTag &tag)
{
  SetGUID(tag.GetGUID());
  SetPath(tag.GetPath());
  SetSize(tag.GetSize());
  SetMD5(tag.GetMD5());
  SetTURL(tag.GetTURL());
}
 AliFileTag.cxx:1
 AliFileTag.cxx:2
 AliFileTag.cxx:3
 AliFileTag.cxx:4
 AliFileTag.cxx:5
 AliFileTag.cxx:6
 AliFileTag.cxx:7
 AliFileTag.cxx:8
 AliFileTag.cxx:9
 AliFileTag.cxx:10
 AliFileTag.cxx:11
 AliFileTag.cxx:12
 AliFileTag.cxx:13
 AliFileTag.cxx:14
 AliFileTag.cxx:15
 AliFileTag.cxx:16
 AliFileTag.cxx:17
 AliFileTag.cxx:18
 AliFileTag.cxx:19
 AliFileTag.cxx:20
 AliFileTag.cxx:21
 AliFileTag.cxx:22
 AliFileTag.cxx:23
 AliFileTag.cxx:24
 AliFileTag.cxx:25
 AliFileTag.cxx:26
 AliFileTag.cxx:27
 AliFileTag.cxx:28
 AliFileTag.cxx:29
 AliFileTag.cxx:30
 AliFileTag.cxx:31
 AliFileTag.cxx:32
 AliFileTag.cxx:33
 AliFileTag.cxx:34
 AliFileTag.cxx:35
 AliFileTag.cxx:36
 AliFileTag.cxx:37
 AliFileTag.cxx:38
 AliFileTag.cxx:39
 AliFileTag.cxx:40
 AliFileTag.cxx:41
 AliFileTag.cxx:42
 AliFileTag.cxx:43
 AliFileTag.cxx:44
 AliFileTag.cxx:45
 AliFileTag.cxx:46
 AliFileTag.cxx:47
 AliFileTag.cxx:48
 AliFileTag.cxx:49
 AliFileTag.cxx:50
 AliFileTag.cxx:51
 AliFileTag.cxx:52
 AliFileTag.cxx:53
 AliFileTag.cxx:54
 AliFileTag.cxx:55
 AliFileTag.cxx:56
 AliFileTag.cxx:57
 AliFileTag.cxx:58
 AliFileTag.cxx:59
 AliFileTag.cxx:60
 AliFileTag.cxx:61
 AliFileTag.cxx:62
 AliFileTag.cxx:63
 AliFileTag.cxx:64
 AliFileTag.cxx:65
 AliFileTag.cxx:66
 AliFileTag.cxx:67
 AliFileTag.cxx:68
 AliFileTag.cxx:69
 AliFileTag.cxx:70
 AliFileTag.cxx:71
 AliFileTag.cxx:72
 AliFileTag.cxx:73
 AliFileTag.cxx:74
 AliFileTag.cxx:75
 AliFileTag.cxx:76
 AliFileTag.cxx:77
 AliFileTag.cxx:78
 AliFileTag.cxx:79
 AliFileTag.cxx:80
 AliFileTag.cxx:81
 AliFileTag.cxx:82
 AliFileTag.cxx:83
 AliFileTag.cxx:84
 AliFileTag.cxx:85
 AliFileTag.cxx:86
 AliFileTag.cxx:87
 AliFileTag.cxx:88
 AliFileTag.cxx:89
 AliFileTag.cxx:90
 AliFileTag.cxx:91
 AliFileTag.cxx:92
 AliFileTag.cxx:93
 AliFileTag.cxx:94
 AliFileTag.cxx:95