#include <VP1CaloCells.h>
|
| | VP1CC_LArFCAL (const CaloCell *caloCell, const VP1CC_SeparatorMap *separators) |
| virtual | ~VP1CC_LArFCAL () |
| virtual void | build3DObjects (VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &) |
| std::vector< std::string > | ToString (const CaloCell_ID *calo_id, const std::string &extrainfos="") |
| virtual void | remove3DObjects (VP1CC_SoNode2CCMap *node2cc) |
| double | energyToTransverse (const double &) const |
| bool | cutPassed (const VP1CC_GlobalCuts &globalCuts) |
| const CaloCell * | getCaloCell () |
| Identifier | getID () |
| void | updateScene (VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &globalCuts) |
| double | cellDepth (const QPair< bool, double > &scale, const double &energy) |
| virtual bool | isInsideClipVolume (const VP1CC_GlobalCuts &globalCuts) |
Definition at line 272 of file VP1CaloCells.h.
◆ VP1CC_LArFCAL()
Definition at line 355 of file VP1CaloCells.cxx.
356 :
358{
359 if(!separators)
360 throw std::runtime_error("VP1CC_LArFCAL: 0 pointer to VP1CC Separator Map");
361
362
364
367 else
369
370 VP1CC_SeparatorMap::const_iterator
it =
separators->find(mySeparatorType);
372 throw std::runtime_error("VP1CC_LArFCAL: Missing separator in the map");
373
375
377 throw std::runtime_error("VP1CC_LArFCAL: Wrong 0 pointer to the separator helper");
378}
VP1ExtraSepLayerHelper * m_helper
VP1CC_LAr(const CaloCell *caloCell)
const CaloCell * m_caloCell
◆ ~VP1CC_LArFCAL()
| VP1CC_LArFCAL::~VP1CC_LArFCAL |
( |
| ) |
|
|
virtual |
◆ build3DObjects()
Implements VP1CaloCell.
Definition at line 414 of file VP1CaloCells.cxx.
419{
420 bool createNewHit = false;
422 m_hit =
new SoGenericBox();
423 createNewHit = true;
424 }
425
426
427 const CaloDetDescrElement* ddElement =
m_caloCell->caloDDE();
428
429
430 double x = ddElement->
x();
431 double dx = ddElement->
dx()*0.5;
432 double y = ddElement->
y();
433 double dy = ddElement->
dy()*0.5;
434 double z = ddElement->
z();
435 double dz = ddElement->
dz()*0.5;
437
438 double halfdepth(0.5*
cellDepth(scale,energy));
439 halfdepth = std::min(halfdepth, std::fabs(0.5 * (globalCuts.
clipRadius - std::fabs(
z))));
440
442 m_hit->setParametersForBox( dx*0.9, dy*0.9, halfdepth,
x,
y,
z-dz+halfdepth);
443 } else {
444 m_hit->setParametersForBox( dx*0.9, dy*0.9, halfdepth,
x,
y,
z+dz-halfdepth);
445 }
446 m_hit->drawEdgeLines = outline;
447
448 if(createNewHit) {
450 (*node2cc)[
m_hit] =
this;
451 }
452}
double energyToTransverse(const double &) const
double cellDepth(const QPair< bool, double > &scale, const double &energy)
◆ cellDepth()
| double VP1CaloCell::cellDepth |
( |
const QPair< bool, double > & | scale, |
|
|
const double & | energy ) |
|
inlineinherited |
Definition at line 189 of file VP1CaloCells.h.
190 {
return std::max(1.0*Gaudi::Units::mm,
scale.second*(
scale.first?
log(1+fabs(energy)):fabs(energy))); }
◆ cutPassed()
Definition at line 63 of file VP1CaloCells.cxx.
64{
65
68
69
70 }
71
72
77
79 for(
const VP1Interval& i : globalCuts.
allowedPhi){
84 break;
85 }
86 }
88}
QList< VP1Interval > allowedPhi
virtual bool isInsideClipVolume(const VP1CC_GlobalCuts &globalCuts)
bool contains(const double &x) const
◆ energyToTransverse()
| double VP1CaloCell::energyToTransverse |
( |
const double & | e | ) |
const |
|
inherited |
◆ getCaloCell()
| const CaloCell * VP1CaloCell::getCaloCell |
( |
| ) |
|
|
inherited |
◆ getID()
◆ isInsideClipVolume()
◆ remove3DObjects()
◆ ToString()
| std::vector< std::string > VP1CC_LArFCAL::ToString |
( |
const CaloCell_ID * | calo_id, |
|
|
const std::string & | extrainfos = "" ) |
|
virtual |
Implements VP1CaloCell.
Definition at line 384 of file VP1CaloCells.cxx.
385{
386 std::vector<std::string>
result;
387 const CaloDetDescrElement* ddElement =
m_caloCell->caloDDE();
388 std::ostringstream
msg, msg1, msg2, msg3;
389
390 std::string stars("***");
392
393 msg <<
"LAr FCAL. ID = " <<
m_caloCell->ID().getString() <<
" " << extrainfos;
394
395 msg1 <<
" Eta = " << ddElement->
eta()
396 <<
" Phi = " << ddElement->
phi();
397
398 msg2 <<
" Energy = " <<
m_caloCell->energy() <<
" (Mev)"
400
403 <<
" Provenance = " <<
m_caloCell->provenance();
404
406 result.push_back(msg1.str());
407 result.push_back(msg2.str());
408 result.push_back(msg3.str());
409
412}
float eta() const
cell eta
float phi() const
cell phi
◆ updateScene()
Definition at line 99 of file VP1CaloCells.cxx.
104{
107 else
109}
virtual void remove3DObjects(VP1CC_SoNode2CCMap *node2cc)=0
bool cutPassed(const VP1CC_GlobalCuts &globalCuts)
virtual void build3DObjects(VP1CC_SoNode2CCMap *node2cc, bool useEt, const QPair< bool, double > &scale, bool outline, const VP1CC_GlobalCuts &)=0
◆ m_caloCell
◆ m_helper
◆ m_hit
The documentation for this class was generated from the following files: