Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:21

0001 /* Copyright 2008-2010, Technische Universitaet Muenchen,
0002    Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
0003 
0004    This file is part of GENFIT.
0005 
0006    GENFIT is free software: you can redistribute it and/or modify
0007    it under the terms of the GNU Lesser General Public License as published
0008    by the Free Software Foundation, either version 3 of the License, or
0009    (at your option) any later version.
0010 
0011    GENFIT is distributed in the hope that it will be useful,
0012    but WITHOUT ANY WARRANTY; without even the implied warranty of
0013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014    GNU Lesser General Public License for more details.
0015 
0016    You should have received a copy of the GNU Lesser General Public License
0017    along with GENFIT.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 
0020 #include "AbsFitterInfo.h"
0021 
0022 #include <TClass.h>
0023 #include <TBuffer.h>
0024 
0025 namespace genfit {
0026 
0027 AbsFitterInfo::AbsFitterInfo() :
0028   trackPoint_(nullptr),
0029   rep_(nullptr)
0030 {
0031   ;
0032 }
0033 
0034 AbsFitterInfo::AbsFitterInfo(const TrackPoint* trackPoint, const AbsTrackRep* rep) :
0035   trackPoint_(trackPoint),
0036   rep_(rep)
0037 {
0038   ;
0039 }
0040 
0041 void AbsFitterInfo::Streamer(TBuffer &R__b)
0042 {
0043    // Stream an object of class genfit::AbsFitterInfo.
0044    //This works around a msvc bug and should be harmless on other platforms
0045    typedef ::genfit::AbsFitterInfo thisClass;
0046    UInt_t R__s, R__c;
0047    if (R__b.IsReading()) {
0048       Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
0049       //TObject::Streamer(R__b);
0050       // See the long comment in AbsFinitePlane::Streamer.  This
0051       // creates a duplicate of the DetPlane.
0052       TClass* cl = TClass::Load(R__b);
0053       DetPlane *p = (DetPlane*)(cl->New());
0054       cl->Streamer(p, R__b);
0055       sharedPlane_.reset(p);
0056       R__b.CheckByteCount(R__s, R__c, thisClass::IsA());
0057    } else {
0058       R__c = R__b.WriteVersion(thisClass::IsA(), kTRUE);
0059       //TObject::Streamer(R__b);
0060       // See the long comment in AbsFinitePlane::Streamer.  This
0061       // stores a duplicate of the DetPlane, allowing for typesafe
0062       // reading.
0063       sharedPlane_->IsA()->Store(R__b);
0064       sharedPlane_->Streamer(R__b);
0065       R__b.SetByteCount(R__c, kTRUE);
0066    }
0067 }
0068 
0069 } /* End of namespace genfit */