Destructor.
59 {
60
61 MsgStream msg(
msgSvc(), name() );
62
63 msg << MSG::INFO << "FieldReader intialize() has been called" << endmsg;
64 StatusCode status = service( "MagneticFieldSvc", m_pIMF, true );
65 if ( !status.isSuccess() )
66 {
67 msg << MSG::FATAL << "Unable to open Magnetic field service" << endmsg;
68 return StatusCode::FAILURE;
69 }
70
71 msg << MSG::DEBUG << " Book ntuple" << endmsg;
72
74 if ( nt1 ) m_tuple1 = nt1;
75 else
76 {
77 m_tuple1 =
ntupleSvc()->book(
"FILE1/n1", CLID_ColumnWiseTuple,
"Field" );
78 if ( m_tuple1 )
79 {
80 status = m_tuple1->addItem( "x", m_x );
81 status = m_tuple1->addItem( "y", m_y );
82 status = m_tuple1->addItem( "z", m_z );
83 status = m_tuple1->addItem( "r", m_r );
84 status = m_tuple1->addItem( "Bx", m_Bx );
85 status = m_tuple1->addItem( "By", m_By );
86 status = m_tuple1->addItem( "Bz", m_Bz );
87 status = m_tuple1->addItem( "SigmaBx", m_sigma_bx );
88 status = m_tuple1->addItem( "SigmaBy", m_sigma_by );
89 status = m_tuple1->addItem( "SigmaBz", m_sigma_bz );
90 }
91 else
92 {
93 msg << MSG::ERROR << " Cannot book N-tuple:" << long( m_tuple1 ) << endmsg;
94 return StatusCode::FAILURE;
95 }
96 }
97
99 if ( nt2 ) m_tuple2 = nt2;
100 else
101 {
102 m_tuple2 =
ntupleSvc()->book(
"FILE1/n2", CLID_ColumnWiseTuple,
"Field" );
103 if ( m_tuple2 )
104 {
105 status = m_tuple2->addItem( "x", m_x2 );
106 status = m_tuple2->addItem( "y", m_y2 );
107 status = m_tuple2->addItem( "z", m_z2 );
108 status = m_tuple2->addItem( "r", m_r2 );
109 status = m_tuple2->addItem( "Bx", m_Bx2 );
110 status = m_tuple2->addItem( "By", m_By2 );
111 status = m_tuple2->addItem( "Bz", m_Bz2 );
112 }
113 else
114 {
115 msg << MSG::ERROR << " Cannot book N-tuple:" << long( m_tuple2 ) << endmsg;
116 return StatusCode::FAILURE;
117 }
118 }
119
120 NTuplePtr nt3(
ntupleSvc(),
"FILE1/n3" );
121 if ( nt3 ) m_tuple3 = nt3;
122 else
123 {
124 m_tuple3 =
ntupleSvc()->book(
"FILE1/n3", CLID_ColumnWiseTuple,
"Field" );
125 if ( m_tuple3 )
126 {
127 status = m_tuple3->addItem( "x", m_x3 );
128 status = m_tuple3->addItem( "y", m_y3 );
129 status = m_tuple3->addItem( "z", m_z3 );
130 status = m_tuple3->addItem( "r", m_r3 );
131 status = m_tuple3->addItem( "phi", m_phi3 );
132 status = m_tuple3->addItem( "Bx", m_Bx3 );
133 status = m_tuple3->addItem( "By", m_By3 );
134 status = m_tuple3->addItem( "Bz", m_Bz3 );
135 }
136 else
137 {
138 msg << MSG::ERROR << " Cannot book N-tuple:" << long( m_tuple3 ) << endmsg;
139 return StatusCode::FAILURE;
140 }
141 }
142
143 NTuplePtr nt4(
ntupleSvc(),
"FILE1/n4" );
144 if ( nt4 ) m_tuple4 = nt4;
145 else
146 {
147 m_tuple4 =
ntupleSvc()->book(
"FILE1/n4", CLID_ColumnWiseTuple,
"Field" );
148 if ( m_tuple4 ) { status = m_tuple4->addItem( "time", m_time ); }
149 else
150 {
151 msg << MSG::ERROR << " Cannot book N-tuple:" << long( m_tuple4 ) << endmsg;
152 return StatusCode::FAILURE;
153 }
154 }
155
156 status = service( "BesTimerSvc", m_timersvc );
157 if ( status.isFailure() )
158 {
159 msg << MSG::ERROR << name() << ": Unable to locate BesTimer Service" << endmsg;
160 return StatusCode::FAILURE;
161 }
162 m_timer = m_timersvc->addItem( "Read field Time" );
163
164 msg << MSG::INFO << "MagFieldReader initialized" << endmsg;
165 return StatusCode::SUCCESS;
166}