IPunchThroughTool.h 1.04 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
/*
  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/

#ifndef ISF_FASTCALOSIMINTERFACES_IPUNCHTHROUGHTOOL_H
#define ISF_FASTCALOSIMINTERFACES_IPUNCHTHROUGHTOOL_H 1

// Gaudi
#include "GaudiKernel/IAlgTool.h"

// ISF includes
#include "ISF_Event/ISFParticle.h"
13
#include "ISF_Event/ISFParticleVector.h"
14
15
16
17

namespace Trk{
  class Track;
}
18

19
20
21
22
namespace ISF {

  /**
     @class IPunchThroughTool
23

24
25
      Interface for a tool which takes a ISF::ISFParticle as input
      and returns a vector of ISFParticles
26

27
28
     @author Elmar.Ritsch@cern.ch , Anna.Usanova@cern.ch
   */
29

30
31
 class IPunchThroughTool : virtual public IAlgTool {
     public:
32

33
34
        /** Virtual destructor */
        virtual ~IPunchThroughTool(){}
35

36
37
        /// Creates the InterfaceID and interfaceID() method
        DeclareInterfaceID(IPunchThroughTool, 1, 0);
38

39
        /** Creates new vector of ISFParticle out of a given ISFParticle */
40
        virtual const ISF::ISFParticleVector* computePunchThroughParticles(const ISFParticle& isfp ) const = 0;
41
 };
42

43
} // end of namespace
44

45
#endif