]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliRunTag.cxx
Adding the CopyStandardContent function - needed for the AOD tag creation
[u/mrichter/AliRoot.git] / STEER / AliRunTag.cxx
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
18 //-----------------------------------------------------------------
19 //           Implementation of the RunTag class
20 //   This is the class to deal with the tags in the run level
21 //   Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
22 //-----------------------------------------------------------------
23
24 #include "AliRunTag.h"
25 #include "AliDetectorTag.h"
26 #include "AliEventTag.h"
27
28 ClassImp(AliRunTag)
29
30 //___________________________________________________________________________
31   AliRunTag::AliRunTag() :
32     TObject(),
33     fAliceRunId(-1),
34     fAliceMagneticField(0.0),
35     fAliceRunStartTime(0),
36     fAliceRunStopTime(0),
37     fAlirootVersion(0),
38     fRootVersion(0),
39     fGeant3Version(0),
40     fAliceRunQuality(0),
41     fAliceBeamEnergy(0.0),
42     fAliceBeamType(0),
43     fAliceCalibrationVersion(0),
44     fAliceDataType(0),
45     fNumEvents(0),
46     fNumDetectors(0),
47     fEventTag("AliEventTag", 1000),
48     fDetectorTag(),
49     fLHCTag()
50 {
51   //Default constructor
52 }
53
54 //___________________________________________________________________________
55 AliRunTag::~AliRunTag() {
56   //Destructor
57   fEventTag.Delete();
58 }
59
60 //___________________________________________________________________________
61 void AliRunTag::CopyStandardContent(AliRunTag *oldtag) {
62   //function that copies the run, lhc and detector levels
63   SetRunId(oldtag->GetRunId());
64   SetMagneticField(oldtag->GetMagneticField());
65   SetRunStartTime(oldtag->GetRunStartTime());
66   SetRunStopTime(oldtag->GetRunStopTime());
67   SetAlirootVersion(oldtag->GetAlirootVersion());
68   SetRootVersion(oldtag->GetRootVersion());
69   SetGeant3Version(oldtag->GetGeant3Version());
70   SetRunQuality(oldtag->GetRunQuality());
71   SetBeamEnergy(oldtag->GetBeamEnergy());
72   SetBeamType(oldtag->GetBeamType());
73   SetCalibVersion(oldtag->GetCalibVersion());
74   SetDataType(oldtag->GetDataType());
75   SetLHCTag(oldtag->GetLHCTag()->GetLuminosity(),oldtag->GetLHCTag()->GetLHCState());
76   //SetDetectorTag(oldtag->GetDetectorTags());
77 }
78
79 //___________________________________________________________________________
80 void AliRunTag::SetLHCTag(Float_t lumin, TString type) {
81   //Setter for the LHC tags
82   fLHCTag.SetLHCTag(lumin,type);
83 }
84
85 //___________________________________________________________________________
86 void AliRunTag::SetDetectorTag(UInt_t mask) {
87   //Setter for the detector tags
88   fDetectorTag.SetDetectorMask(mask);
89 }
90
91 //___________________________________________________________________________
92 void AliRunTag::AddEventTag(const AliEventTag & EvTag) {
93   //Adds an entry to the event tag TClonesArray
94   new(fEventTag[fNumEvents++]) AliEventTag(EvTag);
95 }
96
97 //___________________________________________________________________________
98 void AliRunTag::Clear(const char *) {
99   //Resets the number of events and detectors
100   fEventTag.Clear();
101   fNumEvents = 0;
102   fDetectorTag.Clear();
103   fNumDetectors = 0;
104 }