Belle II Software  release-08-01-10
ThinScatterer.cc
1 /* Copyright 2008-2009, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #include "ThinScatterer.h"
21 #include "IO.h"
22 
23 #include <TBuffer.h>
24 
25 namespace genfit {
26 
27 
28 void ThinScatterer::Print(const Option_t*) const {
29  printOut << "ThinScatterer, defined in plane: ";
30  sharedPlane_->Print();
31  printOut << "Material properties: ";
32  material_.Print();
33 }
34 
35 
36 void ThinScatterer::Streamer(TBuffer &R__b)
37 {
38  // Stream an object of class genfit::ThinScatterer.
39 
40  // TODO: test
41 
42  //This works around a msvc bug and should be harmless on other platforms
43  typedef ::genfit::ThinScatterer thisClass;
44  UInt_t R__s, R__c;
45  if (R__b.IsReading()) {
46  Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
47  //TObject::Streamer(R__b);
48  sharedPlane_.reset(new DetPlane());
49  sharedPlane_->Streamer(R__b);
50  material_.Streamer(R__b);
51  R__b.CheckByteCount(R__s, R__c, thisClass::IsA());
52  } else {
53  R__c = R__b.WriteVersion(thisClass::IsA(), kTRUE);
54  //TObject::Streamer(R__b);
55  sharedPlane_->Streamer(R__b);
56  material_.Streamer(R__b);
57  R__b.SetByteCount(R__c, kTRUE);
58  }
59 }
60 
61 
62 
63 } /* End of namespace genfit */
Material material_
Material boundary. '!' shuts up ROOT.
Definition: ThinScatterer.h:55
Defines for I/O streams used for error and debug printing.
std::ostream printOut
Default stream for output of Print calls.