ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtTools
AtParsers.h
Go to the documentation of this file.
1
/*********************************************************************
2
* Multipurpose parsers *
3
* Author: Y. Ayyad yassid.ayyad@usc.es *
4
* Log: 03/21/2022 *
5
* *
6
*********************************************************************/
7
8
#ifndef ATPARSERS_H
9
#define ATPARSERS_H
10
11
#include "
AtFormat.h
"
12
13
#include <Rtypes.h>
14
#include <TObject.h>
15
#include <TString.h>
16
17
#include <ostream>
18
#include <string>
19
#include <vector>
20
21
class
TXMLNode;
22
class
TBuffer;
23
class
TClass;
24
class
TMemberInspector;
25
26
namespace
AtTools
{
27
28
struct
IonFitInfo
{
29
std::string
_ionName
;
30
UInt_t
_PDG
;
31
Double_t
_mass
;
32
Int_t
_atomicNumber
;
33
UInt_t
_MassNumber
;
34
std::string
_eLossFile
;
35
36
friend
std::ostream &
operator<<
(std::ostream &out,
const
AtTools::IonFitInfo
&ifi)
37
{
38
39
out <<
cGREEN
<<
" Ion name :"
<< ifi.
_ionName
<<
"\n"
;
40
out <<
" PDG : "
<< ifi.
_PDG
<<
"\n"
;
41
out <<
" Mass (AMU) : "
<< ifi.
_mass
<<
"\n"
;
42
out <<
" Atomic Number : "
<< ifi.
_atomicNumber
<<
"\n"
;
43
out <<
" Mass Number : "
<< ifi.
_MassNumber
<<
"\n"
;
44
out <<
" Energy loss file : "
<< ifi.
_eLossFile
<<
cNORMAL
<<
"\n"
;
45
return
out;
46
}
47
};
48
49
class
AtParsers
:
public
TObject {
50
51
public
:
52
AtParsers
();
53
~AtParsers
();
54
55
Int_t
ParseIonFitXML
(TString filename);
56
std::vector<IonFitInfo> *
GetIonFile
() {
return
&ionList; }
57
58
private
:
59
void
ParseIonList(TXMLNode *
node
);
60
IonFitInfo
ParseIon(TXMLNode *
node
, Int_t
id
);
61
62
std::vector<IonFitInfo> ionList;
63
64
ClassDef(
AtParsers
, 1)
65
};
66
67
}
// namespace AtTools
68
69
#endif
AtTools::AtParsers::GetIonFile
std::vector< IonFitInfo > * GetIonFile()
Definition:
AtParsers.h:56
AtTools::IonFitInfo::_eLossFile
std::string _eLossFile
Definition:
AtParsers.h:34
AtTools::IonFitInfo::operator<<
friend std::ostream & operator<<(std::ostream &out, const AtTools::IonFitInfo &ifi)
Definition:
AtParsers.h:36
node
Definition:
fastcluster_dm.cxx:213
AtTools::IonFitInfo::_MassNumber
UInt_t _MassNumber
Definition:
AtParsers.h:33
cNORMAL
#define cNORMAL
Definition:
AtTrigger.h:19
cGREEN
#define cGREEN
Definition:
AtTrigger.h:20
AtTools::AtParsers
Definition:
AtParsers.h:49
AtTools::IonFitInfo::_PDG
UInt_t _PDG
Definition:
AtParsers.h:30
AtTools::AtParsers::AtParsers
AtParsers()
AtTools::IonFitInfo::_mass
Double_t _mass
Definition:
AtParsers.h:31
AtTools
Definition:
AtSimpleSimulation.h:19
AtTools::AtParsers::~AtParsers
~AtParsers()
AtFormat.h
AtTools::IonFitInfo
Definition:
AtParsers.h:28
AtTools::AtParsers::ParseIonFitXML
Int_t ParseIonFitXML(TString filename)
Definition:
AtParsers.cxx:22
AtTools::IonFitInfo::_ionName
std::string _ionName
Definition:
AtParsers.h:29
AtTools::IonFitInfo::_atomicNumber
Int_t _atomicNumber
Definition:
AtParsers.h:32
Generated on Sat Nov 11 2023 15:30:38 for ATTPCROOT by
1.8.18