#include <VP1CaloCells.h>
|
| | VP1CC_LArEMECHEC (const CaloCell *caloCell, const CaloCell_ID *calo_id, const VP1CC_SeparatorMap *separators) |
| virtual | ~VP1CC_LArEMECHEC () |
| 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 249 of file VP1CaloCells.h.
◆ VP1CC_LArEMECHEC()
Definition at line 238 of file VP1CaloCells.cxx.
240 :
242{
243 if(!separators)
244 throw std::runtime_error("VP1CC_LArEMECHEC: 0 pointer to VP1CC Separator Map");
245
246 bool isEMEC = false;
248 isEMEC = true;
249 else if(calo_id->
is_hec(caloCell->
ID()))
250 isEMEC = false;
251 else
252 throw std::runtime_error("VP1CC_LArEMECHEC: Calo Cell is neither EMEC nor HEC!");
253
254
256 if(caloCell->
energy()<0) {
257 if(isEMEC)
259 else
261 } else {
262 if(isEMEC)
264 else
266 }
267
268
269 VP1CC_SeparatorMap::const_iterator
it =
separators->find(mySeparatorType);
271 throw std::runtime_error("VP1CC_LArEMECHEC: Missing separator in the map");
272
274
276 throw std::runtime_error("VP1CC_LArEMECHEC: 0 pointer to the separator helper");
277}
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
double energy() const
get energy (data member)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
VP1ExtraSepLayerHelper * m_helper
VP1CC_LAr(const CaloCell *caloCell)
◆ ~VP1CC_LArEMECHEC()
| VP1CC_LArEMECHEC::~VP1CC_LArEMECHEC |
( |
| ) |
|
|
virtual |
◆ build3DObjects()
| void VP1CC_LArEMECHEC::build3DObjects |
( |
VP1CC_SoNode2CCMap * | node2cc, |
|
|
bool | useEt, |
|
|
const QPair< bool, double > & | scale, |
|
|
bool | outline, |
|
|
const VP1CC_GlobalCuts & | globalCuts ) |
|
virtual |
Implements VP1CaloCell.
Definition at line 318 of file VP1CaloCells.cxx.
323{
324 bool createNewHit = false;
326 m_hit =
new SoGenericBox();
327 createNewHit = true;
328 }
329
330
331 const CaloDetDescrElement* ddElement =
m_caloCell->caloDDE();
332
333
334 double eta = ddElement->
eta();
335 double deta = ddElement->
deta()*0.5;
336 double phi = ddElement->
phi();
337 double dphi = ddElement->
dphi()*0.5;
338 double z = ddElement->
z();
340
343
346 m_hit->drawEdgeLines = outline;
347
348 if(createNewHit) {
350 (*node2cc)[
m_hit] =
this;
351 }
352}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
float dphi() const
cell dphi
float eta() const
cell eta
float phi() const
cell phi
float deta() const
cell deta
const CaloCell * m_caloCell
double energyToTransverse(const double &) const
double cellDepth(const QPair< bool, double > &scale, const double &energy)
std::string depth
tag string for intendation
◆ 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_LArEMECHEC::ToString |
( |
const CaloCell_ID * | calo_id, |
|
|
const std::string & | extrainfos = "" ) |
|
virtual |
Implements VP1CaloCell.
Definition at line 283 of file VP1CaloCells.cxx.
284{
285 std::vector<std::string>
result;
286 const CaloDetDescrElement* ddElement =
m_caloCell->caloDDE();
287
288 std::ostringstream
msg, msg1, msg2, msg3;
289
290 std::string stars("***");
292
295 else
297 msg <<
" " << extrainfos;
298
299 msg1 <<
" Eta = " << ddElement->
eta()
300 <<
" Phi = " << ddElement->
phi();
301
302 msg2 <<
"Energy = " <<
m_caloCell->energy() <<
" (Mev)"
304
307 <<
" Provenance = " <<
m_caloCell->provenance();
308
310 result.push_back(msg1.str());
311 result.push_back(msg2.str());
312 result.push_back(msg3.str());
313
316}
◆ 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: