Commit 6b47542c authored by Jochen Meyer's avatar Jochen Meyer Committed by Graeme Stewart
Browse files

Updating MboyAthEvt-07-85-00 (MboyAthEvt-07-85-00)

parent 8b6de2d6
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MB_SegmentAth_H
#define MB_SegmentAth_H
namespace Trk {
class PrepRawData;
class Surface;
}
namespace Muon {
class CscPrepData;
class MdtPrepData;
class RpcPrepData;
class TgcPrepData;
class CscStripPrepData;
}
/////////////////////////////////////////////////////////////////////////////
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyCoreEvt/MB_Segment.h"
class MuonRecDigiStoreAth;
/**
@class MB_SegmentAth
This class is managing the segment data. It derives from MB_Segment
to which are added connections to PrepData.
A MB_SegmentAth is built from a preexisting MB_Segment and
a MuonRecDigiStoreAth. Indexes to associated MuonRecDigit digit
permit to retrieve from MuonRecDigiStoreAth and to store in MB_SegmentAth
the pointers to PrepData
@author samusog@cern.ch
*/
class MB_SegmentAth: public MB_Segment{
public:
MB_SegmentAth();
MB_SegmentAth(const MB_Segment & oMB_Segment,
const MuonRecDigiStoreAth* pMuonRecDigiStoreAth
);
virtual ~MB_SegmentAth();
public:
///////////////////////////////////
/** Get Surface */
const Trk::Surface* LiIdGetSurface (int LinearNber) const;
/** Get PrepData */
const Trk::PrepRawData* LiIdGetPrepRawData (int LinearNber) const;
/** Get MdtPrepData */
const Muon::MdtPrepData* LiIdGetMdtPrepData (int LinearNber) const;
/** Get RpcPrepData */
const Muon::RpcPrepData* LiIdGetRpcPrepData (int LinearNber) const;
/** Get TgcPrepData */
const Muon::TgcPrepData* LiIdGetTgcPrepData (int LinearNber) const;
/** Get CscStripPrepData */
const Muon::CscStripPrepData* LiIdGetCscStripPrepData (int LinearNber) const;
/** Get CscPrepData */
const Muon::CscPrepData* LiIdGetCscClusterPrepData (int LinearNber) const;
private:
///////////////////////////////////
//Data
std::vector<const Muon::MdtPrepData*> MdtPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::RpcPrepData*> RpcPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::TgcPrepData*> TgcPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::CscStripPrepData*> CscStripPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::CscPrepData*> CscCluPrepDataVector ; //!< Storage of associated PrepData
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MB_SegmentStoreAth_H
#define MB_SegmentStoreAth_H
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyCoreEvt/MB_SegmentStore.h"
#include "MboyAthEvt/MB_SegmentAth.h"
class MuonRecDigiStoreAth;
/**
@class MB_SegmentStoreAth
This class is managing collection of MB_SegmentAth. It derives from a MB_SegmentStore.
The method Consistentify permits the creation of a set of MB_SegmentAth
from the already stored MB_Segment using a MuonRecDigiStoreAth.
The MB_SegmentAth are accessed by GetMB_SegmentAth method
@author samusog@cern.ch
*/
class MB_SegmentStoreAth: public MB_SegmentStore{
public:
MB_SegmentStoreAth();
virtual ~MB_SegmentStoreAth();
public:
///////////////////////////////////
/** Reset collection */
void ResetMB_SegmentStoreAth();
/** Consistentify */
void Consistentify(const MuonRecDigiStoreAth* pMuonRecDigiStoreAth);
/**Get a segment */
const MB_SegmentAth* GetMB_SegmentAth(int MB_SegmentNber) const;
private:
///////////////////////////////////
//Data
std::vector<MB_SegmentAth> MB_SegmentAthSet ; //!< vector of segments
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MB_SegmentStoreTDS_H
#define MB_SegmentStoreTDS_H
#include "GaudiKernel/DataObject.h"
/////////////////////////////////////////////////////////////////////////////
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyAthEvt/MB_SegmentStoreAth.h"
static const CLID CLID_MB_SegmentStoreTDS = 4027;
/**
@class MB_SegmentStoreTDS
This class allows to store a MB_SegmentStoreAth in TDS
@author samusog@cern.ch
*/
class MB_SegmentStoreTDS:public DataObject {
public:
MB_SegmentStoreTDS();
virtual ~MB_SegmentStoreTDS();
public:
///////////////////////////////////
static const CLID& classID() { return CLID_MB_SegmentStoreTDS; }
virtual const CLID& clID() const { return CLID_MB_SegmentStoreTDS; }
public:
///////////////////////////////////
//Data
MB_SegmentStoreAth m_MB_SegmentStore ; //!< the MB_SegmentStoreAth
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MB_TrackAth_H
#define MB_TrackAth_H
namespace Trk {
class PrepRawData;
class Surface;
}
namespace Muon {
class CscPrepData;
class MdtPrepData;
class RpcPrepData;
class TgcPrepData;
class CscStripPrepData;
}
/////////////////////////////////////////////////////////////////////////////
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyCoreEvt/MB_Track.h"
class MuonRecDigiStoreAth;
/**
@class MB_TrackAth
This class is managing the track data. It derives from MB_Track
to which are added connections to PrepData.
A MB_TrackAth is built from a preexisting MB_Track and
a MuonRecDigiStoreAth. Indexes to associated MuonRecDigit digit
permit to retrieve from MuonRecDigiStoreAth and to store in MB_TrackAth
the pointers to PrepData
@author samusog@cern.ch
*/
class MB_TrackAth: public MB_Track {
public:
MB_TrackAth();
MB_TrackAth(const MB_Track & oMB_Track,
const MuonRecDigiStoreAth* pMuonRecDigiStoreAth
);
virtual ~MB_TrackAth();
public:
///////////////////////////////////
/** Get Surface */
const Trk::Surface* LiIdGetSurface (int LinearNber) const;
/** Get PrepData */
const Trk::PrepRawData* LiIdGetPrepRawData (int LinearNber) const;
/** Get MdtPrepData */
const Muon::MdtPrepData* LiIdGetMdtPrepData (int LinearNber) const;
/** Get RpcPrepData */
const Muon::RpcPrepData* LiIdGetRpcPrepData (int LinearNber) const;
/** Get TgcPrepData */
const Muon::TgcPrepData* LiIdGetTgcPrepData (int LinearNber) const;
/** Get CscStripPrepData */
const Muon::CscStripPrepData* LiIdGetCscStripPrepData (int LinearNber) const;
/** Get CscPrepData */
const Muon::CscPrepData* LiIdGetCscClusterPrepData (int LinearNber) const;
private:
///////////////////////////////////
//Data
std::vector<const Muon::MdtPrepData*> MdtPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::RpcPrepData*> RpcPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::TgcPrepData*> TgcPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::CscStripPrepData*> CscStripPrepDataVector ; //!< Storage of associated PrepData
std::vector<const Muon::CscPrepData*> CscCluPrepDataVector ; //!< Storage of associated PrepData
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MB_TrackStoreAth_H
#define MB_TrackStoreAth_H
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyCoreEvt/MB_TrackStore.h"
#include "MboyAthEvt/MB_TrackAth.h"
class MuonRecDigiStoreAth;
/**
@class MB_TrackStoreAth
This class is managing collection of MB_TrackAth. It derives from a MB_TrackStore.
The method Consistentify permits the creation of a set of MB_TrackAth
from the already stored MB_Track using a MuonRecDigiStoreAth.
The MB_TrackAth are accessed by GetMB_TrackAth method
@author samusog@cern.ch
*/
class MB_TrackStoreAth: public MB_TrackStore {
public:
MB_TrackStoreAth();
virtual ~MB_TrackStoreAth();
public:
///////////////////////////////////
/** Reset collection */
void ResetMB_TrackStoreAth();
/** Consistentify */
void Consistentify(const MuonRecDigiStoreAth* pMuonRecDigiStoreAth);
/**Get a track */
const MB_TrackAth* GetMB_TrackAth(int MB_TrackNber) const;
private:
///////////////////////////////////
//Data
std::vector<MB_TrackAth> MB_TrackAthSet ; //!< vector of tracks
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MB_TrackStoreTDS_H
#define MB_TrackStoreTDS_H
#include "GaudiKernel/DataObject.h"
/////////////////////////////////////////////////////////////////////////////
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyAthEvt/MB_TrackStoreAth.h"
static const CLID CLID_MB_TrackStoreTDS = 4026;
/**
@class MB_TrackStoreTDS
This class allows to store a MB_TrackStoreAth in TDS
@author samusog@cern.ch
*/
class MB_TrackStoreTDS:public DataObject {
public:
MB_TrackStoreTDS();
virtual ~MB_TrackStoreTDS();
public:
///////////////////////////////////
static const CLID& classID() { return CLID_MB_TrackStoreTDS; }
virtual const CLID& clID() const { return CLID_MB_TrackStoreTDS; }
public:
///////////////////////////////////
//Data
MB_TrackStoreAth m_MB_TrackStore ; //!< the MB_TrackStoreAth
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
//
// Author : Saclay Muon Software Group SaMuSoG
// Date : 30/03/00
//
// The MboyAthEvtMisc header contains all this Bxxxxy stuff
//
#ifndef MboyAthEvtMisc_H
#define MboyAthEvtMisc_H
#ifdef HAVE_NEW_IOSTREAMS
//gcc3.2
#include <sstream>
#include <iostream>
#include <iomanip>
#include <fstream>
#else
//gcc 295
#include <iostream.h>
#include <iomanip.h>
#include <fstream.h>
#endif
#if HAVE_CXX_STDC_HEADERS
# include <cstdio>
# include <cmath>
#else
# include <stdio.h>
# include <math.h>
#endif
#include <algorithm>
#include <iterator>
#include <list>
#include <vector>
#include <map>
#include <string>
#include <utility>
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MboyROAStoreAth_H
#define MboyROAStoreAth_H
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyCoreEvt/MboyROAStore.h"
#include "GeoPrimitives/GeoPrimitives.h"
namespace Trk {
class TrackRoad;
}
/**
@class MboyROAStoreAth
@author samusog@cern.ch
*/
class MboyROAStoreAth: public MboyROAStore{
public:
MboyROAStoreAth();
virtual ~MboyROAStoreAth();
public:
///////////////////////////////////
/**Add a MboyROA */
void Add(const Amg::Vector3D& gpos , const Amg::Vector3D& gdir) ;
void Add(const Trk::TrackRoad& road ) ;
/**Get a MboyROA as */
Trk::TrackRoad GetMboyROAasTrackRoad(int MboyROANber) const;
Amg::Vector3D GetMboyROAasGlobalPosition(int MboyROANber) const ;
Amg::Vector3D GetMboyROAasGlobalDirection(int MboyROANber) const ;
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MBOYTRACKROAD_H
#define MBOYTRACKROAD_H
#include "TrkRoad/TrackRoad.h"
/**
@class MboyTrackRoad
@author samusog@cern.ch
*/
class MboyTrackRoad: public Trk::TrackRoad {
public:
MboyTrackRoad();
MboyTrackRoad(const Amg::Vector3D& gpos , const Amg::Vector3D& gdir, double dEta, double dPhi, double wei=1.0);
virtual ~MboyTrackRoad();
public:
///////////////////////////////////
double weight() const;
std::string toString() const;
protected:
double m_wei;
};
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MuonRecDigiStoreAth_H
#define MuonRecDigiStoreAth_H
namespace Muon {
class CscPrepData;
class MdtPrepData;
class RpcPrepData;
class TgcPrepData;
class CscStripPrepData;
}
/////////////////////////////////////////////////////////////////////////////
#include "MboyAthEvt/MboyAthEvtMisc.h"
#include "MboyCoreEvt/MuonRecDigiStore.h"
/**
@class MuonRecDigiStoreAth
This class is managing the digits data. It derives from MuonRecDigiStore
to which are added connections to PrepData.
A digit is added using the AddDigit method.
@author samusog@cern.ch
*/
class MuonRecDigiStoreAth: public MuonRecDigiStore{
public:
MuonRecDigiStoreAth();
virtual ~MuonRecDigiStoreAth();
public:
///////////////////////////////////
/** Reset the Store */
void ResetMuonRecDigiStoreAth();
/** Add a Typed Digi */
void AddDigit(
MuonRecDigitMDT& ToBeAdded,
const Muon::MdtPrepData*& pPrepData
);
/** Add a Typed Digi */
void AddDigit(
MuonRecDigitRPC& ToBeAdded,
const Muon::RpcPrepData*& pPrepData
);
/** Add a Typed Digi */
void AddDigit(
MuonRecDigitTGC& ToBeAdded,
const Muon::TgcPrepData*& pPrepData
);
/** Add a Typed Digi */
void AddDigit(
MuonRecDigitCSC& ToBeAdded,
const Muon::CscStripPrepData*& pPrepData
);
/** Add a Typed Digi */
void AddDigit(
MuonRecDigitCSCClu& ToBeAdded,
const Muon::CscPrepData*& pPrepData
);
/** Get MdtPrepData */
const Muon::MdtPrepData* LiIdGetMdtPrepData (int LinearDigiNber) const;
/** Get RpcPrepData */
const Muon::RpcPrepData* LiIdGetRpcPrepData (int LinearDigiNber) const;
/** Get TgcPrepData */
const Muon::TgcPrepData* LiIdGetTgcPrepData (int LinearDigiNber) const;
/** Get CscStripPrepData */
const Muon::CscStripPrepData* LiIdGetCscStripPrepData (int LinearDigiNber) const;
/** Get CscPrepData */
const Muon::CscPrepData* LiIdGetCscClusterPrepData (int LinearDigiNber) const;
/** Find Rank */
int FindRank( const Muon::MdtPrepData* pPrepData ) const;
int FindRank( const Muon::RpcPrepData* pPrepData ) const;
int FindRank( const Muon::TgcPrepData* pPrepData ) const;
int FindRank( const Muon::CscStripPrepData* pPrepData ) const;
int FindRank( const Muon::CscPrepData* pPrepData ) const;
/** Reserve */
void ReserveMuonRecDigiStoreAth(