Commit 8e4226a1 authored by Atlas-Software Librarian's avatar Atlas-Software Librarian Committed by Graeme Stewart
Browse files

'CMakeLists.txt' (TrkTruthTrackInterfaces-00-00-04)

parent 0cc38d7d
################################################################################
# Package: TrkTruthTrackInterfaces
################################################################################
# Declare the package name:
atlas_subdir( TrkTruthTrackInterfaces )
# Declare the package's dependencies:
atlas_depends_on_subdirs( PUBLIC
GaudiKernel
Tracking/TrkEvent/TrkSegment )
# Install files from the package:
atlas_install_headers( TrkTruthTrackInterfaces )
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// IPRD_TruthTrajectoryBuilder.h, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#ifndef TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYBUILDER_H
#define TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYBUILDER_H 1
// Gaudi
#include "GaudiKernel/IAlgTool.h"
#include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
namespace HepMC {
class GenParticle;
}
namespace Trk {
static const InterfaceID IID_IPRD_TruthTrajectoryBuilder("IPRD_TruthTrajectoryBuilder", 1, 0);
/**
@class IPRD_TruthTrajectoryBuilder
@brief The interface for the truth PRD trajectory finder
@author Andreas.Salzburger -at- cern.ch, Thijs.Cornelissen -at- cern.ch, Roland.Wolfgang.Jansky -at- cern.ch
*/
class IPRD_TruthTrajectoryBuilder : virtual public IAlgTool {
public:
/** Virtual destructor */
virtual ~IPRD_TruthTrajectoryBuilder(){}
/** AlgTool interface methods */
static const InterfaceID& interfaceID() { return IID_IPRD_TruthTrajectoryBuilder; }
/** return a vector of PrepRawData trajectories - uses internal cache**/
virtual const std::map< const HepMC::GenParticle*, PRD_TruthTrajectory >& truthTrajectories() const = 0;
/** Event refresh - can't be an IIncident, because it has to run after PRD creation and PRD truth creation */
virtual StatusCode refreshEvent() = 0;
};
} // end of namespace
#endif // TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYBUILDER_H
\ No newline at end of file
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// IPRD_TruthTrajectoryManipulator.h, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#ifndef TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYMANIPULATOR_H
#define TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYMANIPULATOR_H 1
// Gaudi
#include "GaudiKernel/IAlgTool.h"
#include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
namespace HepMC {
class GenParticle;
}
namespace Trk {
class PrepRawData;
static const InterfaceID IID_IPRD_TruthTrajectoryManipulator("IPRD_TruthTrajectoryManipulator", 1, 0);
/**
@class IPRD_TruthTrajectoryManipulator
@brief The interface for the truth PRD trajectory manipulator
@author Andreas.Salzburger -at- cern.ch
*/
class IPRD_TruthTrajectoryManipulator : virtual public IAlgTool {
public:
/** Virtual destructor */
virtual ~IPRD_TruthTrajectoryManipulator(){}
/** AlgTool interface methods */
static const InterfaceID& interfaceID() { return IID_IPRD_TruthTrajectoryManipulator; }
/** manipulate method - boolean indicates if manipulation was done or not */
virtual bool manipulateTruthTrajectory( PRD_TruthTrajectory& ) const = 0;
};
} // end of namespace
#endif // TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYMANIPULATOR_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// IPRD_TruthTrajectorySelector.h, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#ifndef TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYSELECTOR_H
#define TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYSELECTOR_H 1
// Gaudi
#include "GaudiKernel/IAlgTool.h"
#include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
namespace Trk {
class PrepRawData;
static const InterfaceID IID_IPRD_TruthTrajectorySelector("IPRD_TruthTrajectorySelector", 1, 0);
/**
@class IPRD_TruthTrajectorySelector
@brief The interface for the truth PRD trajectory selector
@author Andreas.Salzburger -at- cern.ch
*/
class IPRD_TruthTrajectorySelector : virtual public IAlgTool {
public:
/** Virtual destructor */
virtual ~IPRD_TruthTrajectorySelector(){}
/** AlgTool interface methods */
static const InterfaceID& interfaceID() { return IID_IPRD_TruthTrajectorySelector; }
/** selector method - boolean indicates if PRD truth trajectory passes or not */
virtual bool pass( const PRD_TruthTrajectory& ) const = 0;
};
} // end of namespace
#endif // TRK_TRKTRUTHTRACKS_IPRD_TRUTHTRAJECTORYSELECTOR_H
\ No newline at end of file
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// ITruthTrackBuilder.h, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#ifndef TRK_TRKTRUTHTRACKINTERFACES_ITRUTHTRACKBUILDER_H
#define TRK_TRKTRUTHTRACKINTERFACES_ITRUTHTRACKBUILDER_H 1
// Gaudi
#include "GaudiKernel/IAlgTool.h"
#include "TrkTruthTrackInterfaces/PRD_TruthTrajectory.h"
#include "TrkSegment/SegmentCollection.h"
namespace Trk {
class Track;
static const InterfaceID IID_ITruthTrackBuilder("ITruthTrackBuilder", 1, 0);
/**
@class ITruthTrackBuilder
@brief The interface for the truth track finder
@author Andreas.Salzburger -at- cern.ch, Thijs.Cornelissen -at- cern.ch
*/
class ITruthTrackBuilder : virtual public IAlgTool {
public:
/** Virtual destructor */
virtual ~ITruthTrackBuilder(){}
/** AlgTool interface methods */
static const InterfaceID& interfaceID() { return IID_ITruthTrackBuilder; }
/** return a track from a PrepRawData trajectories, if a segment collection pointer is provided it will also try filling it **/
virtual Track* createTrack(const PRD_TruthTrajectory& traj, SegmentCollection* segs = 0 ) const = 0;
};
} // end of namespace
#endif // TRK_TRKTRUTHTRACKINTERFACES_ITRUTHTRACKBUILDER_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// PRD_TruthTrajectory.h, (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
#ifndef TRK_TRKTRUTHTRACKS_PRD_TRUTHTRAJECTORY_H
#define TRK_TRKTRUTHTRACKS_PRD_TRUTHTRAJECTORY_H 1
namespace HepMC {
class GenParticle;
}
namespace Trk {
class PrepRawData;
/**
@class PRD_TruthTrajectory
simple definitiion of a PRD_TruhtTrajectory
@author Andreas.Salzburger -at- cern.ch, Thijs.Cornelissen -at- cern.ch, Roland.Wolfgang.Jansky -at- cern.ch
*/
struct PRD_TruthTrajectory {
/** public members */
std::vector<const Trk::PrepRawData* > prds;
const HepMC::GenParticle* genParticle;
size_t nDoF;
/** defualt constructor */
PRD_TruthTrajectory() :
genParticle(0),
nDoF(0)
{}
/** fast constructor */
PRD_TruthTrajectory( const std::vector<const Trk::PrepRawData* >& prdVec,
const HepMC::GenParticle* gP = 0,
size_t numberOfDegreesOfFreedom = 0) :
prds(prdVec),
genParticle(gP),
nDoF(numberOfDegreesOfFreedom)
{}
};
}
#endif
package TrkTruthTrackInterfaces
author Andreas Salzburger <Andreas.Salzburger@cern.ch>
use AtlasPolicy AtlasPolicy-*
use GaudiInterface GaudiInterface-* External
use TrkSegment TrkSegment-* Tracking/TrkEvent
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment