HerdSoftware  0.1.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::CaloTrackInfoAlgo Class Reference

An algorithm which computes information about the track inside the Calo. More...

#include <algorithms/geometry/CaloTrackInfoAlgo.h>

Inheritance diagram for Herd::CaloTrackInfoAlgo:

Public Member Functions

 CaloTrackInfoAlgo (const std::string &name)
 Constructor. More...
 
bool Initialize ()
 Initializes the planes used to compute the track calo information. More...
 
bool Process ()
 Computes the track information, so far it use the MC truth. More...
 
bool Finalize ()
 Do nothing. More...
 

Private Member Functions

bool _ComputeTrackInfoForCalo (const Line track)
 Computes the information about he track in Calo. More...
 
bool _ComputeTrackInfoForCalo (const Point startingPoint, Vec3D direction)
 Computes the information about he track in Calo. More...
 
bool _CheckIfPointIsInCaloSurface (Point p, RefFrame::Direction view)
 Checks if a Point is inside a Calo surface. More...
 
float _PntDistance (Point p1, Point p2)
 Computes the distance between two points (To be removed from here). More...
 
bool _CheckIfPointIsInsideCALO (Point p)
 Checks if a point is inside the CALO volume. More...
 
bool _CalculateExactTrackLength (const Point startingPoint, Vec3D direction, float &length, float &lengthAfterInteraction)
 Computes the exact track length in LYSO and the remaining length after the first inelastic interaction if present. More...
 

Private Attributes

observer_ptr< EventDataStore > _evStore
 Pointer to the event data store. More...
 
observer_ptr< GlobalDataStore > _globStore
 Pointer to the global data store. More...
 
observer_ptr< MCTruth_mcTruth
 
observer_ptr< CaloGeoParams_caloGeoParams
 
TrackInfoForCalo _trackInfoCalo
 The TrackInfoForCalo object to fill with the computed information. More...
 
DirectionsArray< Plane_Planes
 The calo surface for each directions. More...
 
float _XSideBig
 
float _XSideSmall
 
float _YSideBig
 
float _YSideSmall
 
float _ZCaloCenter
 
float _ZCaloHeight
 
float _phiXY
 
float _meanVolumeActiveFraction
 

Detailed Description

An algorithm which computes information about the track inside the Calo.

Needed event objects:

name type store optional description
mcTruth MCTruth evStore no Info about MC truth

Produced event objects:

name type store description
trackInfoForCaloMC TrackInfoForCalo evStore Container of information about the track for the Calo.

Constructor & Destructor Documentation

◆ CaloTrackInfoAlgo()

Herd::CaloTrackInfoAlgo::CaloTrackInfoAlgo ( const std::string &  name)

Constructor.

Parameters
nameThe name of the algorithm object.

Member Function Documentation

◆ _CalculateExactTrackLength()

bool Herd::CaloTrackInfoAlgo::_CalculateExactTrackLength ( const Point  startingPoint,
Vec3D  direction,
float &  length,
float &  lengthAfterInteraction 
)
private

Computes the exact track length in LYSO and the remaining length after the first inelastic interaction if present.

Parameters
p1the starting point.
p2the direction.
Returns
the total length in LYSO.
the total length in LYSO after first inelastic interaction.

◆ _CheckIfPointIsInCaloSurface()

bool Herd::CaloTrackInfoAlgo::_CheckIfPointIsInCaloSurface ( Point  p,
RefFrame::Direction  view 
)
private

Checks if a Point is inside a Calo surface.

Parameters
pthe point.
viewthe normal direction of the calo surface.
Returns
true if the point is inside the finite plane, false otherwise.

◆ _CheckIfPointIsInsideCALO()

bool Herd::CaloTrackInfoAlgo::_CheckIfPointIsInsideCALO ( Point  p)
private

Checks if a point is inside the CALO volume.

Parameters
p1the point
Returns
true if inside, false otherwise.

◆ _ComputeTrackInfoForCalo() [1/2]

bool Herd::CaloTrackInfoAlgo::_ComputeTrackInfoForCalo ( const Line  track)
private

Computes the information about he track in Calo.

Parameters
trackthe actual track.
Returns
true if the track intercept the Calo and errors do not occur, false otherwise.

◆ _ComputeTrackInfoForCalo() [2/2]

bool Herd::CaloTrackInfoAlgo::_ComputeTrackInfoForCalo ( const Point  startingPoint,
Vec3D  direction 
)
private

Computes the information about he track in Calo.

Parameters
startingPointa point of the track.
directionthe direction of the track.
Returns
true if the track intercept the Calo and errors do not occur, false otherwise.

◆ _PntDistance()

float Herd::CaloTrackInfoAlgo::_PntDistance ( Point  p1,
Point  p2 
)
private

Computes the distance between two points (To be removed from here).

Parameters
p1the first point.
p2the second point.
Returns
the distance.

◆ Finalize()

bool Herd::CaloTrackInfoAlgo::Finalize ( )

Do nothing.

Returns
true if no error occurs during finalization, false otherwise.

◆ Initialize()

bool Herd::CaloTrackInfoAlgo::Initialize ( )

Initializes the planes used to compute the track calo information.

Returns
true if initialization is done without errors, false otherwise.

◆ Process()

bool Herd::CaloTrackInfoAlgo::Process ( )

Computes the track information, so far it use the MC truth.

Returns
true if no error occurs during processing, false otherwise.

Member Data Documentation

◆ _caloGeoParams

observer_ptr<CaloGeoParams> Herd::CaloTrackInfoAlgo::_caloGeoParams
private

◆ _evStore

observer_ptr<EventDataStore> Herd::CaloTrackInfoAlgo::_evStore
private

Pointer to the event data store.

◆ _globStore

observer_ptr<GlobalDataStore> Herd::CaloTrackInfoAlgo::_globStore
private

Pointer to the global data store.

◆ _mcTruth

observer_ptr<MCTruth> Herd::CaloTrackInfoAlgo::_mcTruth
private

◆ _meanVolumeActiveFraction

float Herd::CaloTrackInfoAlgo::_meanVolumeActiveFraction
private

◆ _phiXY

float Herd::CaloTrackInfoAlgo::_phiXY
private

◆ _Planes

DirectionsArray<Plane> Herd::CaloTrackInfoAlgo::_Planes
private

The calo surface for each directions.

◆ _trackInfoCalo

TrackInfoForCalo Herd::CaloTrackInfoAlgo::_trackInfoCalo
private

The TrackInfoForCalo object to fill with the computed information.

◆ _XSideBig

float Herd::CaloTrackInfoAlgo::_XSideBig
private

◆ _XSideSmall

float Herd::CaloTrackInfoAlgo::_XSideSmall
private

◆ _YSideBig

float Herd::CaloTrackInfoAlgo::_YSideBig
private

◆ _YSideSmall

float Herd::CaloTrackInfoAlgo::_YSideSmall
private

◆ _ZCaloCenter

float Herd::CaloTrackInfoAlgo::_ZCaloCenter
private

◆ _ZCaloHeight

float Herd::CaloTrackInfoAlgo::_ZCaloHeight
private

The documentation for this class was generated from the following files: