ATLAS Offline Software
Trigger
TrigAnalysis
TrigInDetAnalysis
TrigInDetAnalysis
TIDDirectory.h
Go to the documentation of this file.
1
/* emacs: this is -*- c++ -*- */
17
#ifndef TIDA_TIDDIRECTORY_H
18
#define TIDA_TIDDIRECTORY_H
19
20
#include "TDirectory.h"
21
#include "TH1.h"
22
23
// #include "utils.h"
24
25
class
TIDDirectory
{
26
27
public
:
28
29
// TIDDirectory() : mHAddState(true), mDAddState(true), mPop(0), mDir(0) { }
30
31
TIDDirectory
(
const
std::string&
n
=
""
) :
32
mname
(
n
),
mPop
(
gDirectory
),
mDir
(0) {
33
34
if
(
n
==
""
) {
35
mDir
=
gDirectory
;
36
return
;
37
}
38
39
40
41
if
(
n
.find(
"/"
)==std::string::npos ) {
43
mDir
=
gDirectory
->GetDirectory(
n
.c_str());
44
if
(
mDir
==0 )
mDir
=
gDirectory
->mkdir(
n
.c_str());
45
return
;
46
}
47
48
std::string _dir =
n
;
49
50
if
( _dir.find(
"/"
)!=std::string::npos ) {
51
52
std::string
dir
=
chop
( _dir,
"/"
);
53
54
if
( _dir ==
""
) {
56
mDir
=
gDirectory
->GetDirectory(
dir
.c_str());
57
if
(
mDir
==0 )
mDir
=
gDirectory
->mkdir(
dir
.c_str() );
58
return
;
59
}
60
62
mDir
=
gDirectory
->GetDirectory(
dir
.c_str());
63
if
(
mDir
==0 )
mDir
=
gDirectory
->mkdir(
dir
.c_str() );
64
push
();
65
67
TIDDirectory
d
(_dir);
68
mDir
=
d
.cwd();
69
pop
();
70
}
71
72
// push();
73
}
74
75
76
virtual
~TIDDirectory
() { }
77
78
void
push
() {
mPop
=
gDirectory
;
if
(
mDir
)
mDir
->cd(); }
79
void
pop
() {
if
(
mPop
)
mPop
->cd(); }
80
81
void
Write
() {
push
();
mDir
->Write();
pop
(); }
82
83
void
pwd
()
const
{
mDir
->pwd(); }
84
TDirectory*
cwd
() {
return
mDir
; }
85
86
void
disable
() { }
87
void
restore
() { }
88
89
std::string
name
()
const
{
return
mname
; }
90
91
protected
:
92
93
std::string
chop
( std::string&
s1
,
const
std::string
s2
=
"/"
) {
94
std::string
s3
=
""
;
95
std::string::size_type
pos
=
s1
.find(
s2
);
96
if
(
pos
!= std::string::npos ) {
97
s3
=
s1
.substr(0,
pos
+
s2
.size());
98
s1
.erase(0,
pos
+
s2
.size());
99
}
100
return
s3
;
101
}
102
103
protected
:
104
105
// bool mHAddState;
106
// bool mDAddState;
107
108
std::string
mname
;
109
110
TDirectory*
mPop
;
111
TDirectory*
mDir
;
112
113
};
114
115
116
117
#endif
/* TIDA_TIDDIRECTORY_H */
118
119
ReadCellNoiseFromCoolCompare.s1
s1
Definition:
ReadCellNoiseFromCoolCompare.py:378
TIDDirectory::pop
void pop()
Definition:
TIDDirectory.h:79
TIDDirectory::Write
void Write()
Definition:
TIDDirectory.h:81
hist_file_dump.d
d
Definition:
hist_file_dump.py:137
TIDDirectory::chop
std::string chop(std::string &s1, const std::string s2="/")
Definition:
TIDDirectory.h:93
TIDDirectory
Definition:
TIDDirectory.h:25
ParseInputs.gDirectory
gDirectory
Definition:
Final2012/ParseInputs.py:133
beamspotman.n
n
Definition:
beamspotman.py:731
TIDDirectory::pwd
void pwd() const
Definition:
TIDDirectory.h:83
TIDDirectory::cwd
TDirectory * cwd()
Definition:
TIDDirectory.h:84
TIDDirectory::disable
void disable()
Definition:
TIDDirectory.h:86
TIDDirectory::mPop
TDirectory * mPop
Definition:
TIDDirectory.h:110
beamspotman.dir
string dir
Definition:
beamspotman.py:623
TIDDirectory::mDir
TDirectory * mDir
Definition:
TIDDirectory.h:111
ReadCellNoiseFromCoolCompare.s3
s3
Definition:
ReadCellNoiseFromCoolCompare.py:380
TIDDirectory::name
std::string name() const
Definition:
TIDDirectory.h:89
TIDDirectory::push
void push()
Definition:
TIDDirectory.h:78
TIDDirectory::restore
void restore()
Definition:
TIDDirectory.h:87
python.LumiBlobConversion.pos
pos
Definition:
LumiBlobConversion.py:18
ReadCellNoiseFromCoolCompare.s2
s2
Definition:
ReadCellNoiseFromCoolCompare.py:379
TIDDirectory::mname
std::string mname
Definition:
TIDDirectory.h:108
TIDDirectory::~TIDDirectory
virtual ~TIDDirectory()
Definition:
TIDDirectory.h:76
TIDDirectory::TIDDirectory
TIDDirectory(const std::string &n="")
Definition:
TIDDirectory.h:31
Generated on Thu Nov 7 2024 21:27:55 for ATLAS Offline Software by
1.8.18