Geant4  10.02.p03
CexmcReconstructor Class Reference

#include <CexmcReconstructor.hh>

Inheritance diagram for CexmcReconstructor:
Collaboration diagram for CexmcReconstructor:

Public Member Functions

 CexmcReconstructor ()
 
virtual ~CexmcReconstructor ()
 
virtual void Reconstruct (const CexmcEnergyDepositStore *edStore)
 
void SetCalorimeterEntryPointDefinitionAlgorithm (CexmcCalorimeterEntryPointDefinitionAlgorithm algo)
 
void SetCalorimeterEntryPointDepthDefinitionAlgorithm (CexmcCalorimeterEntryPointDepthDefinitionAlgorithm algo)
 
void SetCrystalSelectionAlgorithm (CexmcCrystalSelectionAlgorithm algo)
 
void UseInnerRefCrystal (G4bool on=true)
 
void SetCalorimeterEntryPointDepth (G4double depth)
 
CexmcCalorimeterEntryPointDefinitionAlgorithm GetCalorimeterEntryPointDefinitionAlgorithm (void) const
 
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm GetCalorimeterEntryPointDepthDefinitionAlgorithm (void) const
 
CexmcCrystalSelectionAlgorithm GetCrystalSelectionAlgorithm (void) const
 
G4bool IsInnerRefCrystalUsed (void) const
 
G4double GetCalorimeterEntryPointDepth (void) const
 
const G4ThreeVectorGetCalorimeterEPLeftPosition (void) const
 
const G4ThreeVectorGetCalorimeterEPRightPosition (void) const
 
const G4ThreeVectorGetCalorimeterEPLeftDirection (void) const
 
const G4ThreeVectorGetCalorimeterEPRightDirection (void) const
 
const G4ThreeVectorGetTargetEPPosition (void) const
 
const G4ThreeVectorGetTargetEPDirection (void) const
 
const G4ThreeVectorGetCalorimeterEPLeftWorldPosition (void) const
 
const G4ThreeVectorGetCalorimeterEPRightWorldPosition (void) const
 
const G4ThreeVectorGetCalorimeterEPLeftWorldDirection (void) const
 
const G4ThreeVectorGetCalorimeterEPRightWorldDirection (void) const
 
const G4ThreeVectorGetTargetEPWorldPosition (void) const
 
const G4ThreeVectorGetTargetEPWorldDirection (void) const
 
G4double GetTheAngle (void) const
 
G4bool HasBasicTrigger (void) const
 
virtual G4bool HasFullTrigger (void) const
 

Protected Member Functions

void ReconstructEntryPoints (const CexmcEnergyDepositStore *edStore)
 
void ReconstructTargetPoint (void)
 
void ReconstructAngle (void)
 

Protected Attributes

G4bool hasBasicTrigger
 
CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm
 
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm epDepthDefinitionAlgorithm
 
CexmcCrystalSelectionAlgorithm csAlgorithm
 
G4bool useInnerRefCrystal
 
G4double epDepth
 
G4ThreeVector calorimeterEPLeftPosition
 
G4ThreeVector calorimeterEPRightPosition
 
G4ThreeVector calorimeterEPLeftDirection
 
G4ThreeVector calorimeterEPRightDirection
 
G4ThreeVector targetEPPosition
 
G4ThreeVector targetEPDirection
 
G4ThreeVector calorimeterEPLeftWorldPosition
 
G4ThreeVector calorimeterEPRightWorldPosition
 
G4ThreeVector calorimeterEPLeftWorldDirection
 
G4ThreeVector calorimeterEPRightWorldDirection
 
G4ThreeVector targetEPWorldPosition
 
G4ThreeVector targetEPWorldDirection
 
G4double theAngle
 
G4double calorimeterEDLeftAdjacent
 
G4double calorimeterEDRightAdjacent
 
G4bool collectEDInAdjacentCrystals
 

Private Member Functions

void CollectEDInAdjacentCrystals (const CexmcEnergyDepositCalorimeterCollection &edHits, G4int row, G4int column, G4double &ed)
 
void CalculateWeightedEPPosition (const CexmcEnergyDepositCalorimeterCollection &edHits, G4int row, G4int column, G4double &x, G4double &y, G4double &ed)
 
void TransformToAdjacentInnerCrystal (G4int &column, G4int &row) const
 

Private Attributes

CexmcSetup::CalorimeterGeometryData calorimeterGeometry
 
G4AffineTransform calorimeterLeftTransform
 
G4AffineTransform calorimeterRightTransform
 
G4AffineTransform targetTransform
 
G4bool targetEPInitialized
 
CexmcReconstructorMessengermessenger
 

Detailed Description

Definition at line 56 of file CexmcReconstructor.hh.

Constructor & Destructor Documentation

◆ CexmcReconstructor()

CexmcReconstructor::CexmcReconstructor ( )
explicit

Definition at line 50 of file CexmcReconstructor.cc.

50  : hasBasicTrigger( false ),
56  targetEPInitialized( false ), messenger( NULL )
57 {
58  G4RunManager * runManager( G4RunManager::GetRunManager() );
59  const CexmcSetup * setup( static_cast< const CexmcSetup * >(
60  runManager->GetUserDetectorConstruction() ) );
61  calorimeterGeometry = setup->GetCalorimeterGeometry();
62  targetTransform = setup->GetTargetTransform();
63  calorimeterLeftTransform = setup->GetCalorimeterLeftTransform();
64  calorimeterRightTransform = setup->GetCalorimeterRightTransform();
65 
67 }
G4AffineTransform calorimeterLeftTransform
CexmcReconstructorMessenger * messenger
G4AffineTransform calorimeterRightTransform
CexmcCrystalSelectionAlgorithm csAlgorithm
CexmcSetup::CalorimeterGeometryData calorimeterGeometry
CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm epDepthDefinitionAlgorithm
G4AffineTransform targetTransform
Here is the call graph for this function:

◆ ~CexmcReconstructor()

CexmcReconstructor::~CexmcReconstructor ( )
virtual

Definition at line 70 of file CexmcReconstructor.cc.

71 {
72  delete messenger;
73 }
CexmcReconstructorMessenger * messenger

Member Function Documentation

◆ CalculateWeightedEPPosition()

void CexmcReconstructor::CalculateWeightedEPPosition ( const CexmcEnergyDepositCalorimeterCollection edHits,
G4int  row,
G4int  column,
G4double x,
G4double y,
G4double ed 
)
private

Definition at line 312 of file CexmcReconstructor.cc.

316 {
317  G4int nCrystalsInColumn( calorimeterGeometry.nCrystalsInColumn );
318  G4int nCrystalsInRow( calorimeterGeometry.nCrystalsInRow );
319  G4double crystalWidth( calorimeterGeometry.crystalWidth );
320  G4double crystalHeight( calorimeterGeometry.crystalHeight );
321 
322  G4int i( 0 );
323  G4double xWeightsSum( 0 );
324  G4double yWeightsSum( 0 );
325  G4double energyWeightsSum( 0 );
326 
328  ed = 0.;
329 
330  for ( CexmcEnergyDepositCalorimeterCollection::const_iterator
331  k( edHits.begin() ); k != edHits.end(); ++k )
332  {
334  ( i - row > 1 || i - row < -1 ) )
335  {
336  ++i;
337  continue;
338  }
339 
340  G4int j( 0 );
341  for ( CexmcEnergyDepositCrystalRowCollection::const_iterator
342  l( k->begin() ); l != k->end(); ++l )
343  {
345  ( j - column > 1 || j - column < -1 ) )
346  {
347  ++j;
348  continue;
349  }
350 
352  ed += *l;
353 
354  G4double xInCalorimeterOffset(
355  ( G4double( j ) - G4double( nCrystalsInRow ) / 2 ) *
356  crystalWidth + crystalWidth / 2 );
357  G4double energyWeight(
360  std::sqrt( *l ) : *l );
361  xWeightsSum += energyWeight * xInCalorimeterOffset;
362  G4double yInCalorimeterOffset(
363  ( G4double( i ) - G4double( nCrystalsInColumn ) / 2 ) *
364  crystalHeight + crystalHeight / 2 );
365  yWeightsSum += energyWeight * yInCalorimeterOffset;
366  energyWeightsSum += energyWeight;
367  ++j;
368  }
369  ++i;
370  }
371 
372  x = xWeightsSum / energyWeightsSum;
373  y = yWeightsSum / energyWeightsSum;
374 }
int G4int
Definition: G4Types.hh:78
Double_t y
CexmcCrystalSelectionAlgorithm csAlgorithm
CexmcSetup::CalorimeterGeometryData calorimeterGeometry
CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm
double G4double
Definition: G4Types.hh:76
Here is the caller graph for this function:

◆ CollectEDInAdjacentCrystals()

void CexmcReconstructor::CollectEDInAdjacentCrystals ( const CexmcEnergyDepositCalorimeterCollection edHits,
G4int  row,
G4int  column,
G4double ed 
)
private

Definition at line 280 of file CexmcReconstructor.cc.

283 {
284  G4int i( 0 );
285 
286  for ( CexmcEnergyDepositCalorimeterCollection::const_iterator
287  k( edHits.begin() ); k != edHits.end(); ++k )
288  {
289  if ( i - row > 1 || i - row < -1 )
290  {
291  ++i;
292  continue;
293  }
294 
295  G4int j( 0 );
296  for ( CexmcEnergyDepositCrystalRowCollection::const_iterator
297  l( k->begin() ); l != k->end(); ++l )
298  {
299  if ( j - column > 1 || j - column < -1 )
300  {
301  ++j;
302  continue;
303  }
304  ed += *l;
305  ++j;
306  }
307  ++i;
308  }
309 }
int G4int
Definition: G4Types.hh:78
Here is the caller graph for this function:

◆ GetCalorimeterEntryPointDefinitionAlgorithm()

CexmcCalorimeterEntryPointDefinitionAlgorithm CexmcReconstructor::GetCalorimeterEntryPointDefinitionAlgorithm ( void  ) const
inline

Definition at line 248 of file CexmcReconstructor.hh.

250 {
251  return epDefinitionAlgorithm;
252 }
CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm

◆ GetCalorimeterEntryPointDepth()

G4double CexmcReconstructor::GetCalorimeterEntryPointDepth ( void  ) const
inline

Definition at line 276 of file CexmcReconstructor.hh.

277 {
278  return epDepth;
279 }

◆ GetCalorimeterEntryPointDepthDefinitionAlgorithm()

CexmcCalorimeterEntryPointDepthDefinitionAlgorithm CexmcReconstructor::GetCalorimeterEntryPointDepthDefinitionAlgorithm ( void  ) const
inline

Definition at line 256 of file CexmcReconstructor.hh.

258 {
260 }
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm epDepthDefinitionAlgorithm

◆ GetCalorimeterEPLeftDirection()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPLeftDirection ( void  ) const
inline

Definition at line 297 of file CexmcReconstructor.hh.

298 {
300 }
G4ThreeVector calorimeterEPLeftDirection

◆ GetCalorimeterEPLeftPosition()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPLeftPosition ( void  ) const
inline

Definition at line 283 of file CexmcReconstructor.hh.

284 {
286 }
G4ThreeVector calorimeterEPLeftPosition
Here is the caller graph for this function:

◆ GetCalorimeterEPLeftWorldDirection()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPLeftWorldDirection ( void  ) const
inline

Definition at line 339 of file CexmcReconstructor.hh.

340 {
342 }
G4ThreeVector calorimeterEPLeftWorldDirection

◆ GetCalorimeterEPLeftWorldPosition()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPLeftWorldPosition ( void  ) const
inline

Definition at line 325 of file CexmcReconstructor.hh.

326 {
328 }
G4ThreeVector calorimeterEPLeftWorldPosition
Here is the caller graph for this function:

◆ GetCalorimeterEPRightDirection()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPRightDirection ( void  ) const
inline

Definition at line 304 of file CexmcReconstructor.hh.

305 {
307 }
G4ThreeVector calorimeterEPRightDirection

◆ GetCalorimeterEPRightPosition()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPRightPosition ( void  ) const
inline

Definition at line 290 of file CexmcReconstructor.hh.

291 {
293 }
G4ThreeVector calorimeterEPRightPosition
Here is the caller graph for this function:

◆ GetCalorimeterEPRightWorldDirection()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPRightWorldDirection ( void  ) const
inline

Definition at line 346 of file CexmcReconstructor.hh.

347 {
349 }
G4ThreeVector calorimeterEPRightWorldDirection

◆ GetCalorimeterEPRightWorldPosition()

const G4ThreeVector & CexmcReconstructor::GetCalorimeterEPRightWorldPosition ( void  ) const
inline

Definition at line 332 of file CexmcReconstructor.hh.

333 {
335 }
G4ThreeVector calorimeterEPRightWorldPosition
Here is the caller graph for this function:

◆ GetCrystalSelectionAlgorithm()

CexmcCrystalSelectionAlgorithm CexmcReconstructor::GetCrystalSelectionAlgorithm ( void  ) const
inline

Definition at line 264 of file CexmcReconstructor.hh.

265 {
266  return csAlgorithm;
267 }
CexmcCrystalSelectionAlgorithm csAlgorithm

◆ GetTargetEPDirection()

const G4ThreeVector & CexmcReconstructor::GetTargetEPDirection ( void  ) const
inline

Definition at line 318 of file CexmcReconstructor.hh.

319 {
320  return targetEPDirection;
321 }
G4ThreeVector targetEPDirection

◆ GetTargetEPPosition()

const G4ThreeVector & CexmcReconstructor::GetTargetEPPosition ( void  ) const
inline

Definition at line 311 of file CexmcReconstructor.hh.

312 {
313  return targetEPPosition;
314 }
G4ThreeVector targetEPPosition
Here is the caller graph for this function:

◆ GetTargetEPWorldDirection()

const G4ThreeVector & CexmcReconstructor::GetTargetEPWorldDirection ( void  ) const
inline

Definition at line 360 of file CexmcReconstructor.hh.

361 {
362  return targetEPWorldDirection;
363 }
G4ThreeVector targetEPWorldDirection

◆ GetTargetEPWorldPosition()

const G4ThreeVector & CexmcReconstructor::GetTargetEPWorldPosition ( void  ) const
inline

Definition at line 353 of file CexmcReconstructor.hh.

354 {
355  return targetEPWorldPosition;
356 }
G4ThreeVector targetEPWorldPosition
Here is the caller graph for this function:

◆ GetTheAngle()

G4double CexmcReconstructor::GetTheAngle ( void  ) const
inline

Definition at line 366 of file CexmcReconstructor.hh.

367 {
368  return theAngle;
369 }
Here is the caller graph for this function:

◆ HasBasicTrigger()

G4bool CexmcReconstructor::HasBasicTrigger ( void  ) const
inline

Definition at line 372 of file CexmcReconstructor.hh.

373 {
374  return hasBasicTrigger;
375 }
Here is the caller graph for this function:

◆ HasFullTrigger()

G4bool CexmcReconstructor::HasFullTrigger ( void  ) const
virtual

Reimplemented in CexmcChargeExchangeReconstructor.

Definition at line 87 of file CexmcReconstructor.cc.

88 {
89  return hasBasicTrigger;
90 }

◆ IsInnerRefCrystalUsed()

G4bool CexmcReconstructor::IsInnerRefCrystalUsed ( void  ) const
inline

Definition at line 270 of file CexmcReconstructor.hh.

271 {
272  return useInnerRefCrystal;
273 }

◆ Reconstruct()

void CexmcReconstructor::Reconstruct ( const CexmcEnergyDepositStore edStore)
virtual

Reimplemented in CexmcChargeExchangeReconstructor.

Definition at line 76 of file CexmcReconstructor.cc.

78 {
79  ReconstructEntryPoints( edStore );
80  if ( hasBasicTrigger )
82  if ( hasBasicTrigger )
84 }
void ReconstructEntryPoints(const CexmcEnergyDepositStore *edStore)
void ReconstructTargetPoint(void)
Here is the call graph for this function:

◆ ReconstructAngle()

void CexmcReconstructor::ReconstructAngle ( void  )
protected

Definition at line 268 of file CexmcReconstructor.cc.

269 {
274  theAngle = epLeft.angle( epRight );
275 
276  hasBasicTrigger = true;
277 }
G4ThreeVector calorimeterEPLeftWorldPosition
G4ThreeVector targetEPWorldPosition
G4ThreeVector calorimeterEPRightWorldPosition
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReconstructEntryPoints()

void CexmcReconstructor::ReconstructEntryPoints ( const CexmcEnergyDepositStore edStore)
protected

Definition at line 93 of file CexmcReconstructor.cc.

95 {
96  G4int columnLeft( edStore->calorimeterEDLeftMaxX );
97  G4int rowLeft( edStore->calorimeterEDLeftMaxY );
98  G4int columnRight( edStore->calorimeterEDRightMaxX );
99  G4int rowRight( edStore->calorimeterEDRightMaxY );
100  G4double crystalLength( calorimeterGeometry.crystalLength );
101 
102  if ( useInnerRefCrystal )
103  {
104  TransformToAdjacentInnerCrystal( columnLeft, rowLeft );
105  TransformToAdjacentInnerCrystal( columnRight, rowRight );
106  }
107 
110  calorimeterEPLeftPosition.setZ( -crystalLength / 2 + epDepth );
116  calorimeterEPRightPosition.setZ( -crystalLength / 2 + epDepth );
120 
121  G4bool edInAdjacentCrystalsCollected( false );
122 
123  switch ( epDefinitionAlgorithm )
124  {
126  break;
128  {
129  G4int nCrystalsInColumn(
131  G4int nCrystalsInRow( calorimeterGeometry.nCrystalsInRow );
132  G4double crystalWidth( calorimeterGeometry.crystalWidth );
133  G4double crystalHeight( calorimeterGeometry.crystalHeight );
134 
136  ( G4double( columnLeft ) - G4double( nCrystalsInRow ) / 2 ) *
137  crystalWidth + crystalWidth / 2 );
139  ( G4double( rowLeft ) - G4double( nCrystalsInColumn ) / 2 ) *
140  crystalHeight + crystalHeight / 2 );
142  ( G4double( columnRight ) - G4double( nCrystalsInRow ) / 2 ) *
143  crystalWidth + crystalWidth / 2 );
145  ( G4double( rowRight ) - G4double( nCrystalsInColumn ) / 2 ) *
146  crystalHeight + crystalHeight / 2 );
147  }
148  break;
151  {
152  G4double x( 0 );
153  G4double y( 0 );
154 
156  rowLeft, columnLeft, x, y,
161  rowRight, columnRight, x, y,
165 
167  edInAdjacentCrystalsCollected = true;
168  }
169  break;
170  default :
171  break;
172  }
173 
174  switch ( epDepthDefinitionAlgorithm )
175  {
177  break;
179  {
180  G4double calorimeterEPLeftRadiusOfTheSphere(
183  G4double calorimeterEPLeftRadiusOfTheSphere2(
184  calorimeterEPLeftRadiusOfTheSphere *
185  calorimeterEPLeftRadiusOfTheSphere );
186  G4double calorimeterEPLeftPositionX2(
189  G4double calorimeterEPLeftPositionY2(
192  G4double calorimeterEPLeftPositionZOffset(
193  calorimeterEPLeftRadiusOfTheSphere - std::sqrt(
194  calorimeterEPLeftRadiusOfTheSphere2 -
195  calorimeterEPLeftPositionX2 -
196  calorimeterEPLeftPositionY2 ) );
197  G4double calorimeterEPRightRadiusOfTheSphere(
200  G4double calorimeterEPRightRadiusOfTheSphere2(
201  calorimeterEPRightRadiusOfTheSphere *
202  calorimeterEPRightRadiusOfTheSphere );
203  G4double calorimeterEPRightPositionX2(
206  G4double calorimeterEPRightPositionY2(
209  G4double calorimeterEPRightPositionZOffset(
210  calorimeterEPRightRadiusOfTheSphere - std::sqrt(
211  calorimeterEPRightRadiusOfTheSphere2 -
212  calorimeterEPRightPositionX2 -
213  calorimeterEPRightPositionY2 ) );
215  calorimeterEPLeftPositionZOffset );
217  calorimeterEPRightPositionZOffset );
218  }
219  break;
220  default :
221  break;
222  }
223 
232 
233  if ( collectEDInAdjacentCrystals && ! edInAdjacentCrystalsCollected )
234  {
236  rowLeft, columnLeft,
239  rowRight, columnRight,
241  }
242 
243  hasBasicTrigger = true;
244 }
G4AffineTransform calorimeterLeftTransform
G4ThreeVector calorimeterEPLeftPosition
G4ThreeVector calorimeterEPLeftWorldPosition
G4ThreeVector TransformAxis(const G4ThreeVector &axis) const
G4AffineTransform calorimeterRightTransform
const CexmcEnergyDepositCalorimeterCollection & calorimeterEDLeftCollection
G4ThreeVector TransformPoint(const G4ThreeVector &vec) const
int G4int
Definition: G4Types.hh:78
void setY(double)
void CollectEDInAdjacentCrystals(const CexmcEnergyDepositCalorimeterCollection &edHits, G4int row, G4int column, G4double &ed)
void setZ(double)
void setX(double)
Double_t y
G4ThreeVector calorimeterEPLeftWorldDirection
CexmcCrystalSelectionAlgorithm csAlgorithm
G4ThreeVector NetTranslation() const
CexmcSetup::CalorimeterGeometryData calorimeterGeometry
CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm
bool G4bool
Definition: G4Types.hh:79
double mag() const
void CalculateWeightedEPPosition(const CexmcEnergyDepositCalorimeterCollection &edHits, G4int row, G4int column, G4double &x, G4double &y, G4double &ed)
double x() const
G4ThreeVector calorimeterEPLeftDirection
G4ThreeVector calorimeterEPRightWorldPosition
G4ThreeVector calorimeterEPRightPosition
void TransformToAdjacentInnerCrystal(G4int &column, G4int &row) const
double y() const
double z() const
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm epDepthDefinitionAlgorithm
G4ThreeVector calorimeterEPRightDirection
const CexmcEnergyDepositCalorimeterCollection & calorimeterEDRightCollection
double G4double
Definition: G4Types.hh:76
G4ThreeVector calorimeterEPRightWorldDirection
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReconstructTargetPoint()

void CexmcReconstructor::ReconstructTargetPoint ( void  )
protected

Definition at line 247 of file CexmcReconstructor.cc.

248 {
249  if ( ! targetEPInitialized )
250  {
252  G4ThreeVector( 0, 0, 0 ) );
256 
261  targetEPInitialized = true;
262  }
263 
264  hasBasicTrigger = true;
265 }
G4ThreeVector TransformAxis(const G4ThreeVector &axis) const
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector targetEPWorldDirection
G4ThreeVector TransformPoint(const G4ThreeVector &vec) const
void setY(double)
void setZ(double)
void setX(double)
G4ThreeVector targetEPWorldPosition
G4AffineTransform Inverse() const
G4ThreeVector targetEPDirection
G4ThreeVector targetEPPosition
G4AffineTransform targetTransform
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetCalorimeterEntryPointDefinitionAlgorithm()

void CexmcReconstructor::SetCalorimeterEntryPointDefinitionAlgorithm ( CexmcCalorimeterEntryPointDefinitionAlgorithm  algo)
inline

Definition at line 212 of file CexmcReconstructor.hh.

214 {
215  epDefinitionAlgorithm = algo;
216 }
CexmcCalorimeterEntryPointDefinitionAlgorithm epDefinitionAlgorithm
Here is the caller graph for this function:

◆ SetCalorimeterEntryPointDepth()

void CexmcReconstructor::SetCalorimeterEntryPointDepth ( G4double  depth)
inline

Definition at line 240 of file CexmcReconstructor.hh.

242 {
243  epDepth = depth;
244 }
Here is the caller graph for this function:

◆ SetCalorimeterEntryPointDepthDefinitionAlgorithm()

void CexmcReconstructor::SetCalorimeterEntryPointDepthDefinitionAlgorithm ( CexmcCalorimeterEntryPointDepthDefinitionAlgorithm  algo)
inline

Definition at line 220 of file CexmcReconstructor.hh.

222 {
224 }
CexmcCalorimeterEntryPointDepthDefinitionAlgorithm epDepthDefinitionAlgorithm
Here is the caller graph for this function:

◆ SetCrystalSelectionAlgorithm()

void CexmcReconstructor::SetCrystalSelectionAlgorithm ( CexmcCrystalSelectionAlgorithm  algo)
inline

Definition at line 227 of file CexmcReconstructor.hh.

229 {
230  csAlgorithm = algo;
231 }
CexmcCrystalSelectionAlgorithm csAlgorithm
Here is the caller graph for this function:

◆ TransformToAdjacentInnerCrystal()

void CexmcReconstructor::TransformToAdjacentInnerCrystal ( G4int column,
G4int row 
) const
inlineprivate

Definition at line 378 of file CexmcReconstructor.hh.

380 {
381  if ( column == 0 )
382  ++column;
383  if ( column == calorimeterGeometry.nCrystalsInRow - 1 )
384  --column;
385  if ( row == 0 )
386  ++row;
387  if ( row == calorimeterGeometry.nCrystalsInColumn - 1 )
388  --row;
389 }
CexmcSetup::CalorimeterGeometryData calorimeterGeometry
Here is the caller graph for this function:

◆ UseInnerRefCrystal()

void CexmcReconstructor::UseInnerRefCrystal ( G4bool  on = true)
inline

Definition at line 234 of file CexmcReconstructor.hh.

235 {
236  useInnerRefCrystal = on;
237 }
Here is the caller graph for this function:

Member Data Documentation

◆ calorimeterEDLeftAdjacent

G4double CexmcReconstructor::calorimeterEDLeftAdjacent
protected

Definition at line 190 of file CexmcReconstructor.hh.

◆ calorimeterEDRightAdjacent

G4double CexmcReconstructor::calorimeterEDRightAdjacent
protected

Definition at line 192 of file CexmcReconstructor.hh.

◆ calorimeterEPLeftDirection

G4ThreeVector CexmcReconstructor::calorimeterEPLeftDirection
protected

Definition at line 167 of file CexmcReconstructor.hh.

◆ calorimeterEPLeftPosition

G4ThreeVector CexmcReconstructor::calorimeterEPLeftPosition
protected

Definition at line 163 of file CexmcReconstructor.hh.

◆ calorimeterEPLeftWorldDirection

G4ThreeVector CexmcReconstructor::calorimeterEPLeftWorldDirection
protected

Definition at line 179 of file CexmcReconstructor.hh.

◆ calorimeterEPLeftWorldPosition

G4ThreeVector CexmcReconstructor::calorimeterEPLeftWorldPosition
protected

Definition at line 175 of file CexmcReconstructor.hh.

◆ calorimeterEPRightDirection

G4ThreeVector CexmcReconstructor::calorimeterEPRightDirection
protected

Definition at line 169 of file CexmcReconstructor.hh.

◆ calorimeterEPRightPosition

G4ThreeVector CexmcReconstructor::calorimeterEPRightPosition
protected

Definition at line 165 of file CexmcReconstructor.hh.

◆ calorimeterEPRightWorldDirection

G4ThreeVector CexmcReconstructor::calorimeterEPRightWorldDirection
protected

Definition at line 181 of file CexmcReconstructor.hh.

◆ calorimeterEPRightWorldPosition

G4ThreeVector CexmcReconstructor::calorimeterEPRightWorldPosition
protected

Definition at line 177 of file CexmcReconstructor.hh.

◆ calorimeterGeometry

CexmcSetup::CalorimeterGeometryData CexmcReconstructor::calorimeterGeometry
private

Definition at line 197 of file CexmcReconstructor.hh.

◆ calorimeterLeftTransform

G4AffineTransform CexmcReconstructor::calorimeterLeftTransform
private

Definition at line 199 of file CexmcReconstructor.hh.

◆ calorimeterRightTransform

G4AffineTransform CexmcReconstructor::calorimeterRightTransform
private

Definition at line 201 of file CexmcReconstructor.hh.

◆ collectEDInAdjacentCrystals

G4bool CexmcReconstructor::collectEDInAdjacentCrystals
protected

Definition at line 194 of file CexmcReconstructor.hh.

◆ csAlgorithm

CexmcCrystalSelectionAlgorithm CexmcReconstructor::csAlgorithm
protected

Definition at line 156 of file CexmcReconstructor.hh.

◆ epDefinitionAlgorithm

CexmcCalorimeterEntryPointDefinitionAlgorithm CexmcReconstructor::epDefinitionAlgorithm
protected

Definition at line 151 of file CexmcReconstructor.hh.

◆ epDepth

G4double CexmcReconstructor::epDepth
protected

Definition at line 160 of file CexmcReconstructor.hh.

◆ epDepthDefinitionAlgorithm

CexmcCalorimeterEntryPointDepthDefinitionAlgorithm CexmcReconstructor::epDepthDefinitionAlgorithm
protected

Definition at line 154 of file CexmcReconstructor.hh.

◆ hasBasicTrigger

G4bool CexmcReconstructor::hasBasicTrigger
protected

Definition at line 148 of file CexmcReconstructor.hh.

◆ messenger

CexmcReconstructorMessenger* CexmcReconstructor::messenger
private

Definition at line 208 of file CexmcReconstructor.hh.

◆ targetEPDirection

G4ThreeVector CexmcReconstructor::targetEPDirection
protected

Definition at line 173 of file CexmcReconstructor.hh.

◆ targetEPInitialized

G4bool CexmcReconstructor::targetEPInitialized
private

Definition at line 205 of file CexmcReconstructor.hh.

◆ targetEPPosition

G4ThreeVector CexmcReconstructor::targetEPPosition
protected

Definition at line 171 of file CexmcReconstructor.hh.

◆ targetEPWorldDirection

G4ThreeVector CexmcReconstructor::targetEPWorldDirection
protected

Definition at line 185 of file CexmcReconstructor.hh.

◆ targetEPWorldPosition

G4ThreeVector CexmcReconstructor::targetEPWorldPosition
protected

Definition at line 183 of file CexmcReconstructor.hh.

◆ targetTransform

G4AffineTransform CexmcReconstructor::targetTransform
private

Definition at line 203 of file CexmcReconstructor.hh.

◆ theAngle

G4double CexmcReconstructor::theAngle
protected

Definition at line 187 of file CexmcReconstructor.hh.

◆ useInnerRefCrystal

G4bool CexmcReconstructor::useInnerRefCrystal
protected

Definition at line 158 of file CexmcReconstructor.hh.


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