ROOT logo
/*************************************************************************
 * * Copyright(c) 1998-2008, 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.                  *
 * **************************************************************************/

////////////////////////////////////////////////////////////////////////////
//                                                                        //
//  The SAX XML file handler used in the TOFda                            //
//                                                                        //
//  Author:                                                               //
//    Chiara Zampolli (Chiara.Zampolli@cern.ch)                           //
//    Roberto Preghenella (R+) (preghenella@bo.infn.it)                   //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#include <cstdlib>
#include <Riostream.h>

#include <TList.h>
#include <TObject.h>
#include <TXMLAttr.h>
#include <TSAXParser.h>

#include "AliLog.h"
#include "AliTOFDaConfigHandler.h"

ClassImp(AliTOFDaConfigHandler)


//_____________________________________________________________________________
AliTOFDaConfigHandler::AliTOFDaConfigHandler()
:TObject(),
  fMeanMultiplicity(0),
  fMaxHits(0)
{
	//
	// AliTOFDaConfigHandler default constructor
	//
}

//_____________________________________________________________________________
AliTOFDaConfigHandler::AliTOFDaConfigHandler(const AliTOFDaConfigHandler &sh)
	:TObject(sh),
	 fMeanMultiplicity(sh.fMeanMultiplicity),
	 fMaxHits(sh.fMaxHits)
{
	//
	// AliTOFDaConfigHandler copy constructor
	//
}

//_____________________________________________________________________________
AliTOFDaConfigHandler &AliTOFDaConfigHandler::operator=(const AliTOFDaConfigHandler &sh)
{
	//
	// Assignment operator
	//
	if (&sh == this) return *this;
	
	new (this) AliTOFDaConfigHandler(sh);
	return *this;
}

//_____________________________________________________________________________
AliTOFDaConfigHandler::~AliTOFDaConfigHandler()
{
	//
	// AliTOFDaConfigHandler destructor
	//	
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnStartDocument()
{
	// if something should happen right at the beginning of the
	// XML document, this must happen here
	AliInfo("Reading XML file for TOF da Config");
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnEndDocument()
{
	// if something should happen at the end of the XML document
	// this must be done here
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnStartElement(const char *name, const TList *attributes)
{
	// when a new XML element is found, it is processed here

	// set the current system if necessary
	TString strName(name);
	AliDebug(2,Form("name = %s",strName.Data()));
	TXMLAttr* attr;
	TIter next(attributes);
	while ((attr = (TXMLAttr*) next())) {
		TString attrName = attr->GetName();
		AliDebug(2,Form("Name = %s",attrName.Data())); 
		if (attrName == "MeanMultiplicity"){
		  fMeanMultiplicity = ((TString)(attr->GetValue())).Atoi();
		}
		if (attrName == "MaxHits"){
		  fMaxHits = ((TString)(attr->GetValue())).Atoi();
		}
	}	
	AliDebug(2,Form("MeanMultiplicity = %d",fMeanMultiplicity)); 
	AliDebug(2,Form("MaxHits = %d",fMaxHits)); 
	return;
}
//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnEndElement(const char *name)
{
	// do everything that needs to be done when an end tag of an element is found
	TString strName(name);
	AliDebug(2,Form("name = %s",strName.Data()));
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnCharacters(const char *characters)
{
	// copy the text content of an XML element
	//fContent = characters;
	TString strCharacters(characters);
	AliDebug(2,Form("characters = %s",strCharacters.Data()));
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnComment(const char* /*text*/)
{
	// comments within the XML file are ignored
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnWarning(const char *text)
{
	// process warnings here
	AliInfo(Form("Warning: %s",text));
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnError(const char *text)
{
	// process errors here
	AliError(Form("Error: %s",text));
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnFatalError(const char *text)
{
	// process fatal errors here
	AliFatal(Form("Fatal error: %s",text));
}

//_____________________________________________________________________________
void AliTOFDaConfigHandler::OnCdataBlock(const char* /*text*/, Int_t /*len*/)
{
	// process character data blocks here
	// not implemented and should not be used here
}

 AliTOFDaConfigHandler.cxx:1
 AliTOFDaConfigHandler.cxx:2
 AliTOFDaConfigHandler.cxx:3
 AliTOFDaConfigHandler.cxx:4
 AliTOFDaConfigHandler.cxx:5
 AliTOFDaConfigHandler.cxx:6
 AliTOFDaConfigHandler.cxx:7
 AliTOFDaConfigHandler.cxx:8
 AliTOFDaConfigHandler.cxx:9
 AliTOFDaConfigHandler.cxx:10
 AliTOFDaConfigHandler.cxx:11
 AliTOFDaConfigHandler.cxx:12
 AliTOFDaConfigHandler.cxx:13
 AliTOFDaConfigHandler.cxx:14
 AliTOFDaConfigHandler.cxx:15
 AliTOFDaConfigHandler.cxx:16
 AliTOFDaConfigHandler.cxx:17
 AliTOFDaConfigHandler.cxx:18
 AliTOFDaConfigHandler.cxx:19
 AliTOFDaConfigHandler.cxx:20
 AliTOFDaConfigHandler.cxx:21
 AliTOFDaConfigHandler.cxx:22
 AliTOFDaConfigHandler.cxx:23
 AliTOFDaConfigHandler.cxx:24
 AliTOFDaConfigHandler.cxx:25
 AliTOFDaConfigHandler.cxx:26
 AliTOFDaConfigHandler.cxx:27
 AliTOFDaConfigHandler.cxx:28
 AliTOFDaConfigHandler.cxx:29
 AliTOFDaConfigHandler.cxx:30
 AliTOFDaConfigHandler.cxx:31
 AliTOFDaConfigHandler.cxx:32
 AliTOFDaConfigHandler.cxx:33
 AliTOFDaConfigHandler.cxx:34
 AliTOFDaConfigHandler.cxx:35
 AliTOFDaConfigHandler.cxx:36
 AliTOFDaConfigHandler.cxx:37
 AliTOFDaConfigHandler.cxx:38
 AliTOFDaConfigHandler.cxx:39
 AliTOFDaConfigHandler.cxx:40
 AliTOFDaConfigHandler.cxx:41
 AliTOFDaConfigHandler.cxx:42
 AliTOFDaConfigHandler.cxx:43
 AliTOFDaConfigHandler.cxx:44
 AliTOFDaConfigHandler.cxx:45
 AliTOFDaConfigHandler.cxx:46
 AliTOFDaConfigHandler.cxx:47
 AliTOFDaConfigHandler.cxx:48
 AliTOFDaConfigHandler.cxx:49
 AliTOFDaConfigHandler.cxx:50
 AliTOFDaConfigHandler.cxx:51
 AliTOFDaConfigHandler.cxx:52
 AliTOFDaConfigHandler.cxx:53
 AliTOFDaConfigHandler.cxx:54
 AliTOFDaConfigHandler.cxx:55
 AliTOFDaConfigHandler.cxx:56
 AliTOFDaConfigHandler.cxx:57
 AliTOFDaConfigHandler.cxx:58
 AliTOFDaConfigHandler.cxx:59
 AliTOFDaConfigHandler.cxx:60
 AliTOFDaConfigHandler.cxx:61
 AliTOFDaConfigHandler.cxx:62
 AliTOFDaConfigHandler.cxx:63
 AliTOFDaConfigHandler.cxx:64
 AliTOFDaConfigHandler.cxx:65
 AliTOFDaConfigHandler.cxx:66
 AliTOFDaConfigHandler.cxx:67
 AliTOFDaConfigHandler.cxx:68
 AliTOFDaConfigHandler.cxx:69
 AliTOFDaConfigHandler.cxx:70
 AliTOFDaConfigHandler.cxx:71
 AliTOFDaConfigHandler.cxx:72
 AliTOFDaConfigHandler.cxx:73
 AliTOFDaConfigHandler.cxx:74
 AliTOFDaConfigHandler.cxx:75
 AliTOFDaConfigHandler.cxx:76
 AliTOFDaConfigHandler.cxx:77
 AliTOFDaConfigHandler.cxx:78
 AliTOFDaConfigHandler.cxx:79
 AliTOFDaConfigHandler.cxx:80
 AliTOFDaConfigHandler.cxx:81
 AliTOFDaConfigHandler.cxx:82
 AliTOFDaConfigHandler.cxx:83
 AliTOFDaConfigHandler.cxx:84
 AliTOFDaConfigHandler.cxx:85
 AliTOFDaConfigHandler.cxx:86
 AliTOFDaConfigHandler.cxx:87
 AliTOFDaConfigHandler.cxx:88
 AliTOFDaConfigHandler.cxx:89
 AliTOFDaConfigHandler.cxx:90
 AliTOFDaConfigHandler.cxx:91
 AliTOFDaConfigHandler.cxx:92
 AliTOFDaConfigHandler.cxx:93
 AliTOFDaConfigHandler.cxx:94
 AliTOFDaConfigHandler.cxx:95
 AliTOFDaConfigHandler.cxx:96
 AliTOFDaConfigHandler.cxx:97
 AliTOFDaConfigHandler.cxx:98
 AliTOFDaConfigHandler.cxx:99
 AliTOFDaConfigHandler.cxx:100
 AliTOFDaConfigHandler.cxx:101
 AliTOFDaConfigHandler.cxx:102
 AliTOFDaConfigHandler.cxx:103
 AliTOFDaConfigHandler.cxx:104
 AliTOFDaConfigHandler.cxx:105
 AliTOFDaConfigHandler.cxx:106
 AliTOFDaConfigHandler.cxx:107
 AliTOFDaConfigHandler.cxx:108
 AliTOFDaConfigHandler.cxx:109
 AliTOFDaConfigHandler.cxx:110
 AliTOFDaConfigHandler.cxx:111
 AliTOFDaConfigHandler.cxx:112
 AliTOFDaConfigHandler.cxx:113
 AliTOFDaConfigHandler.cxx:114
 AliTOFDaConfigHandler.cxx:115
 AliTOFDaConfigHandler.cxx:116
 AliTOFDaConfigHandler.cxx:117
 AliTOFDaConfigHandler.cxx:118
 AliTOFDaConfigHandler.cxx:119
 AliTOFDaConfigHandler.cxx:120
 AliTOFDaConfigHandler.cxx:121
 AliTOFDaConfigHandler.cxx:122
 AliTOFDaConfigHandler.cxx:123
 AliTOFDaConfigHandler.cxx:124
 AliTOFDaConfigHandler.cxx:125
 AliTOFDaConfigHandler.cxx:126
 AliTOFDaConfigHandler.cxx:127
 AliTOFDaConfigHandler.cxx:128
 AliTOFDaConfigHandler.cxx:129
 AliTOFDaConfigHandler.cxx:130
 AliTOFDaConfigHandler.cxx:131
 AliTOFDaConfigHandler.cxx:132
 AliTOFDaConfigHandler.cxx:133
 AliTOFDaConfigHandler.cxx:134
 AliTOFDaConfigHandler.cxx:135
 AliTOFDaConfigHandler.cxx:136
 AliTOFDaConfigHandler.cxx:137
 AliTOFDaConfigHandler.cxx:138
 AliTOFDaConfigHandler.cxx:139
 AliTOFDaConfigHandler.cxx:140
 AliTOFDaConfigHandler.cxx:141
 AliTOFDaConfigHandler.cxx:142
 AliTOFDaConfigHandler.cxx:143
 AliTOFDaConfigHandler.cxx:144
 AliTOFDaConfigHandler.cxx:145
 AliTOFDaConfigHandler.cxx:146
 AliTOFDaConfigHandler.cxx:147
 AliTOFDaConfigHandler.cxx:148
 AliTOFDaConfigHandler.cxx:149
 AliTOFDaConfigHandler.cxx:150
 AliTOFDaConfigHandler.cxx:151
 AliTOFDaConfigHandler.cxx:152
 AliTOFDaConfigHandler.cxx:153
 AliTOFDaConfigHandler.cxx:154
 AliTOFDaConfigHandler.cxx:155
 AliTOFDaConfigHandler.cxx:156
 AliTOFDaConfigHandler.cxx:157
 AliTOFDaConfigHandler.cxx:158
 AliTOFDaConfigHandler.cxx:159
 AliTOFDaConfigHandler.cxx:160
 AliTOFDaConfigHandler.cxx:161
 AliTOFDaConfigHandler.cxx:162
 AliTOFDaConfigHandler.cxx:163
 AliTOFDaConfigHandler.cxx:164
 AliTOFDaConfigHandler.cxx:165
 AliTOFDaConfigHandler.cxx:166
 AliTOFDaConfigHandler.cxx:167
 AliTOFDaConfigHandler.cxx:168
 AliTOFDaConfigHandler.cxx:169
 AliTOFDaConfigHandler.cxx:170
 AliTOFDaConfigHandler.cxx:171