Skip to content
Snippets Groups Projects
Commit b3179eb4 authored by Atlas-Software Librarian's avatar Atlas-Software Librarian Committed by Graeme Stewart
Browse files

'CMakeLists.txt' (G4AncillarySimEvent-00-00-14)

parent 8af088fb
No related branches found
No related tags found
No related merge requests found
Showing
with 494 additions and 0 deletions
################################################################################
# Package: G4AncillarySimEvent
################################################################################
# Declare the package name:
atlas_subdir( G4AncillarySimEvent )
# Declare the package's dependencies:
atlas_depends_on_subdirs( PUBLIC
Control/CLIDSvc
Control/SGTools
Generators/GeneratorObjects
Simulation/HitManagement )
# External dependencies:
find_package( CLHEP )
find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
# Component(s) in the package:
atlas_add_library( G4AncillarySimEvent
src/*.cxx
PUBLIC_HEADERS G4AncillarySimEvent
INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
DEFINITIONS ${CLHEP_DEFINITIONS}
LINK_LIBRARIES ${CLHEP_LIBRARIES} SGTools GeneratorObjects HitManagement
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} )
atlas_add_dictionary( G4AncillarySimEventDict
G4AncillarySimEvent/G4AncillarySimEventDict.h
G4AncillarySimEvent/selection.xml
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} SGTools GeneratorObjects HitManagement G4AncillarySimEvent )
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef G4ANCILLARYSIMEVENTDICT_H
#define G4ANCILLARYSIMEVENTDICT_H
#include "G4AncillarySimEvent/ScintillatorHitCollection.h"
#include "G4AncillarySimEvent/SimpleScintillatorHitCollection.h"
#endif // G4ANCILLARYSIMEVENTDICT_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// ScintillatorHit.h
// Header file for class ScintillatorHit
//
// Author Thomas Kittelmann <kittel@nbi.dk>
///////////////////////////////////////////////////////////////////
#ifndef SCINTILLATORHIT_H
#define SCINTILLATORHIT_H
#include "GeneratorObjects/HepMcParticleLink.h"
class ScintillatorHit {
public:
ScintillatorHit( const int volNumber,
const int particleEncoding,
const float kineticEnergy,
const float energyDeposit,
const float preStepX,
const float preStepY,
const float preStepZ,
const float postStepX,
const float postStepY,
const float postStepZ,
const float globalPreStepX,
const float globalPreStepY,
const float globalPreStepZ,
const float globalPostStepX,
const float globalPostStepY,
const float globalPostStepZ,
const float globalTime,
const int track);
// Needed by athenaRoot apparently
ScintillatorHit();
// Destructor:
virtual ~ScintillatorHit(); //temporary make it virtual for Pool!
int GetVolNumber() const;
int GetTrackID() const;
int GetParticleEncoding() const;
float GetKineticEnergy() const;
float GetEnergyDeposit() const;
float GetPreStepX() const;
float GetPreStepY() const;
float GetPreStepZ() const;
float GetPostStepX() const;
float GetPostStepY() const;
float GetPostStepZ() const;
float GetGlobalPreStepX() const;
float GetGlobalPreStepY() const;
float GetGlobalPreStepZ() const;
float GetGlobalPostStepX() const;
float GetGlobalPostStepY() const;
float GetGlobalPostStepZ() const;
float GetGlobalTime() const;
// link to the particle generating the hit
const HepMcParticleLink& particleLink() const;
private:
// Forbidden. (TK: why should the copy cons. be forbidden?
// ScintillatorHit(const ScintillatorHit&);
// ScintillatorHit &operator=(const ScintillatorHit&);
int m_volNumber;
int m_particleEncoding;
float m_kineticEnergy;
float m_energyDeposit;
float m_preStepX;
float m_preStepY;
float m_preStepZ;
float m_postStepX;
float m_postStepY;
float m_postStepZ;
float m_globalPreStepX;
float m_globalPreStepY;
float m_globalPreStepZ;
float m_globalPostStepX;
float m_globalPostStepY;
float m_globalPostStepZ;
float m_globalTime;
HepMcParticleLink m_partLink;
};
// Inline definitions:
#include "ScintillatorHit.icc"
#endif // SCINTILLATORHIT_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// ScintillatorHit.h
// Inline file for class ScintillatorHit
//
// Author Thomas Kittelmann <kittel@nbi.dk>
///////////////////////////////////////////////////////////////////
inline int ScintillatorHit::GetVolNumber() const
{ return m_volNumber; }
inline int ScintillatorHit::GetParticleEncoding() const
{ return m_particleEncoding; }
inline float ScintillatorHit::GetKineticEnergy() const
{ return m_kineticEnergy; }
inline float ScintillatorHit::GetEnergyDeposit() const
{ return m_energyDeposit; }
inline float ScintillatorHit::GetPreStepX() const
{ return m_preStepX; }
inline float ScintillatorHit::GetPreStepY() const
{ return m_preStepY; }
inline float ScintillatorHit::GetPreStepZ() const
{ return m_preStepZ; }
inline float ScintillatorHit::GetPostStepX() const
{ return m_postStepX; }
inline float ScintillatorHit::GetPostStepY() const
{ return m_postStepY; }
inline float ScintillatorHit::GetPostStepZ() const
{ return m_postStepZ; }
inline float ScintillatorHit::GetGlobalPreStepX() const
{ return m_globalPreStepX; }
inline float ScintillatorHit::GetGlobalPreStepY() const
{ return m_globalPreStepY; }
inline float ScintillatorHit::GetGlobalPreStepZ() const
{ return m_globalPreStepZ; }
inline float ScintillatorHit::GetGlobalPostStepX() const
{ return m_globalPostStepX; }
inline float ScintillatorHit::GetGlobalPostStepY() const
{ return m_globalPostStepY; }
inline float ScintillatorHit::GetGlobalPostStepZ() const
{ return m_globalPostStepZ; }
inline float ScintillatorHit::GetGlobalTime() const
{ return m_globalTime; }
inline const HepMcParticleLink& ScintillatorHit::particleLink() const
{ return m_partLink; }
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef SCINTILLATORHITCOLLECTION_H
#define SCINTILLATORHITCOLLECTION_H
#include "G4AncillarySimEvent/ScintillatorHit.h"
#include "HitManagement/AthenaHitsVector.h"
#ifndef __CINT__
#include "CLIDSvc/CLASS_DEF.h"
#endif
typedef AthenaHitsVector<ScintillatorHit> ScintillatorHitCollection;
typedef AthenaHitsVector<ScintillatorHit>::iterator ScintillatorHitIterator;
typedef AthenaHitsVector<ScintillatorHit>::const_iterator ScintillatorHitConstIterator;
#ifndef __CINT__
CLASS_DEF(ScintillatorHitCollection, 917117117 , 1 )
#endif
#endif // SCINTILLATORHITCOLLECTION_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// SimpleScintillatorHit.h
// Header file for class ScintillatorHit
//
// Author Andrea Di Simone. Based on ScintillatorHit by Thomas Kittelmann <kittel@nbi.dk>
///////////////////////////////////////////////////////////////////
#ifndef SIMPLESCINTILLATORHIT_H
#define SIMPLESCINTILLATORHIT_H
#include "GeneratorObjects/HepMcParticleLink.h"
#include "CLHEP/Vector/ThreeVector.h"
class SimpleScintillatorHit {
public:
SimpleScintillatorHit( const int particleEncoding,
const float kineticEnergy,
const float energyDeposit,
const CLHEP::Hep3Vector position,
const float globalTime,
const int copyNo,
const int track);
// Needed by athenaRoot apparently
SimpleScintillatorHit();
// Destructor:
virtual ~SimpleScintillatorHit(); //temporary make it virtual for Pool!
int GetParticleEncoding() const;
float GetKineticEnergy() const;
float GetEnergyDeposit() const;
CLHEP::Hep3Vector GetPosition() const;
float GetGlobalTime() const;
int GetCopyNo() const;
int GetTrackID() const;
// link to the particle generating the hit
const HepMcParticleLink& particleLink() const;
private:
// Forbidden. (TK: why should the copy cons. be forbidden?
// SimpleScintillatorHit(const SimpleScintillatorHit&);
// SimpleScintillatorHit &operator=(const SimpleScintillatorHit&);
int m_particleEncoding;
float m_kineticEnergy;
float m_energyDeposit;
CLHEP::Hep3Vector m_position;
float m_globalTime;
int m_copyNo;
HepMcParticleLink m_partLink;
};
// Inline definitions:
#include "SimpleScintillatorHit.icc"
#endif // SCINTILLATORHIT_H
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
//
// Inline file for class SimpleScintillatorHit
//
// Author Andrea Di Simone
///////////////////////////////////////////////////////////////////
inline int SimpleScintillatorHit::GetParticleEncoding() const
{ return m_particleEncoding; }
inline float SimpleScintillatorHit::GetKineticEnergy() const
{ return m_kineticEnergy; }
inline float SimpleScintillatorHit::GetEnergyDeposit() const
{ return m_energyDeposit; }
inline CLHEP::Hep3Vector SimpleScintillatorHit::GetPosition() const
{ return m_position; }
inline float SimpleScintillatorHit::GetGlobalTime() const
{ return m_globalTime; }
inline int SimpleScintillatorHit::GetCopyNo() const
{ return m_copyNo; }
inline const HepMcParticleLink& SimpleScintillatorHit::particleLink() const
{ return m_partLink; }
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
#ifndef SIMPLESCINTILLATORHITCOLLECTION_H
#define SIMPLESCINTILLATORHITCOLLECTION_H
#include "G4AncillarySimEvent/SimpleScintillatorHit.h"
#include "HitManagement/AthenaHitsVector.h"
#ifndef __CINT__
#include "CLIDSvc/CLASS_DEF.h"
#endif
typedef AthenaHitsVector<SimpleScintillatorHit> SimpleScintillatorHitCollection;
typedef AthenaHitsVector<SimpleScintillatorHit>::iterator SimpleScintillatorHitIterator;
typedef AthenaHitsVector<SimpleScintillatorHit>::const_iterator SimpleScintillatorHitConstIterator;
#ifndef __CINT__
CLASS_DEF(SimpleScintillatorHitCollection, 917117188 , 1 )
#endif
#endif // SIMPLESCINTILLATORHITCOLLECTION_H
<lcgdict>
<class name="AthenaHitsVector<ScintillatorHit>" id="7CF14254-51FF-46C5-A402-F1EE70B85994" />
<class name="std::vector<ScintillatorHit*>" />
<class name="ScintillatorHit" />
<class name="AthenaHitsVector<SimpleScintillatorHit>" id="F6829DA8-A4D9-48F6-BE4D-0107D5AE7CDB" />
<class name="std::vector<SimpleScintillatorHit*>" />
<class name="SimpleScintillatorHit" />
</lcgdict>
package G4AncillarySimEvent
author Thomas Kittelmann <kittel@nbi.dk>
use AtlasPolicy AtlasPolicy-*
use GeneratorObjects GeneratorObjects-* Generators
use CLIDSvc CLIDSvc-* Control
use HitManagement HitManagement-* Simulation
use AtlasCLHEP AtlasCLHEP-* External
apply_pattern installed_library
library G4AncillarySimEvent *.cxx
private
use AtlasReflex AtlasReflex-* External -no_auto_imports
use AtlasReflex AtlasReflex-* External -no_auto_imports
apply_pattern lcgdict dict=G4AncillarySimEvent selectionfile=selection.xml headerfiles="../G4AncillarySimEvent/G4AncillarySimEventDict.h"
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// ScintillatorHit.h
// Implementation file for class ScintillatorHit
//
// Author Thomas Kittelmann <kittel@nbi.dk>
///////////////////////////////////////////////////////////////////
#include "G4AncillarySimEvent/ScintillatorHit.h"
// Default constructor needed by athenaroot
ScintillatorHit::ScintillatorHit() :
m_volNumber(-999),
m_particleEncoding(0),
m_kineticEnergy(0),
m_energyDeposit(0),
m_preStepX(0),
m_preStepY(0),
m_preStepZ(0),
m_postStepX(0),
m_postStepY(0),
m_postStepZ(0),
m_globalPreStepX(0),
m_globalPreStepY(0),
m_globalPreStepZ(0),
m_globalPostStepX(0),
m_globalPostStepY(0),
m_globalPostStepZ(0),
m_globalTime(0),
m_partLink() {}
ScintillatorHit::~ScintillatorHit() {}
// Constructor
ScintillatorHit::ScintillatorHit( const int volNumber,
const int particleEncoding,
const float kineticEnergy,
const float energyDeposit,
const float preStepX,
const float preStepY,
const float preStepZ,
const float postStepX,
const float postStepY,
const float postStepZ,
const float globalPreStepX,
const float globalPreStepY,
const float globalPreStepZ,
const float globalPostStepX,
const float globalPostStepY,
const float globalPostStepZ,
const float globalTime,
const int track) :
m_volNumber(volNumber),
m_particleEncoding(particleEncoding),
m_kineticEnergy(kineticEnergy),
m_energyDeposit(energyDeposit),
m_preStepX(preStepX),
m_preStepY(preStepY),
m_preStepZ(preStepZ),
m_postStepX(postStepX),
m_postStepY(postStepY),
m_postStepZ(postStepZ),
m_globalPreStepX(globalPreStepX),
m_globalPreStepY(globalPreStepY),
m_globalPreStepZ(globalPreStepZ),
m_globalPostStepX(globalPostStepX),
m_globalPostStepY(globalPostStepY),
m_globalPostStepZ(globalPostStepZ),
m_globalTime(globalTime),
m_partLink(track) {}
int ScintillatorHit::GetTrackID() const {
return m_partLink.barcode();
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
///////////////////////////////////////////////////////////////////
// SimpleScintillatorHit.h
// Implementation file for class SimpleScintillatorHit
//
// Author Andrea Di Simone. Based on ScintillatorHit by homas Kittelmann <kittel@nbi.dk>
///////////////////////////////////////////////////////////////////
#include "G4AncillarySimEvent/SimpleScintillatorHit.h"
// Default constructor needed by athenaroot
SimpleScintillatorHit::SimpleScintillatorHit() :
m_particleEncoding(0),
m_kineticEnergy(0),
m_energyDeposit(0),
m_position(0),
m_globalTime(0),
m_copyNo(0),
m_partLink() {}
SimpleScintillatorHit::~SimpleScintillatorHit() {}
// Constructor
SimpleScintillatorHit::SimpleScintillatorHit(const int particleEncoding,
const float kineticEnergy,
const float energyDeposit,
const CLHEP::Hep3Vector position,
const float globalTime,
const int copyNo,
const int track) :
m_particleEncoding(particleEncoding),
m_kineticEnergy(kineticEnergy),
m_energyDeposit(energyDeposit),
m_position(position),
m_globalTime(globalTime),
m_copyNo(copyNo),
m_partLink(track) {}
int SimpleScintillatorHit::GetTrackID() const {
return m_partLink.barcode();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment