BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
LRectangle1 Class Reference

#include <BmnTof1GeoUtils.h>

Inheritance diagram for LRectangle1:
Collaboration diagram for LRectangle1:

Public Types

enum  Side_t {
  kRight = 0 , kLeft = 1 , kInvalid = -1 , kUpper = 0 ,
  kLower = 1 , kRight = 0 , kLeft = 1 , kInvalid = -1 ,
  kUpper = 0 , kLower = 1
}
enum  Side_t {
  kRight = 0 , kLeft = 1 , kInvalid = -1 , kUpper = 0 ,
  kLower = 1 , kRight = 0 , kLeft = 1 , kInvalid = -1 ,
  kUpper = 0 , kLower = 1
}
Public Types inherited from TObject
enum  EDeprecatedStatusBits
enum  EStatusBits

Public Member Functions

 LRectangle1 ()
 LRectangle1 (Int_t uid, const TVector3 &a, const TVector3 &b, const TVector3 &c, const TVector3 &d, bool check=false)
Double_t GetLength () const
Double_t GetWidth () const
void GetInteriorAngle (int vertexIndex) const
TVector3 GetCenter () const
bool isInvalid () const
Double_t DistanceFromPointToLineSegment (const TVector3 *pos, const TVector3 &P1, const TVector3 &P2) const
Double_t DistanceFromPointToLine (const TVector3 *pos, const TVector3 &P1, const TVector3 &P2) const
Double_t MinDistanceToEdge (const TVector3 *pos, Side_t &side) const
Double_t MinDistanceToEdge701 (const TVector3 *pos, Side_t &side) const
void Print (std::ostream &out, const TVector3 &point, const char *comment=nullptr) const
void Dump (const char *comment, std::ostream &out=std::cout) const
void Shift (const TVector3 &shift)
void InitCenterPerp ()
void CalculateLengthnWidth ()
void CheckInValid ()
 LRectangle1 ()
 LRectangle1 (Int_t uid, const TVector3 &a, const TVector3 &b, const TVector3 &c, const TVector3 &d, bool check=false)
Double_t GetLength () const
Double_t GetWidth () const
void GetInteriorAngle (int vertexIndex) const
TVector3 GetCenter () const
bool isInvalid () const
Double_t DistanceFromPointToLineSegment (const TVector3 *pos, const TVector3 &P1, const TVector3 &P2) const
Double_t DistanceFromPointToLine (const TVector3 *pos, const TVector3 &P1, const TVector3 &P2) const
Double_t MinDistanceToEdge (const TVector3 *pos, Side_t &side) const
Double_t MinDistanceToEdge701 (const TVector3 *pos, Side_t &side) const
void Print (std::ostream &out, const TVector3 &point, const char *comment=nullptr) const
void Dump (const char *comment, std::ostream &out=std::cout) const
void Shift (const TVector3 &shift)
void InitCenterPerp ()
void CalculateLengthnWidth ()
void CheckInValid ()
Public Member Functions inherited from TObject
 TObject ()
 TObject (const TObject &object)
virtual ~TObject ()
void AbstractMethod (const char *method) const
virtual void AppendPad (Option_t *option="")
virtual void Browse (TBrowser *b)
ULong_t CheckedHash ()
virtual const char * ClassName () const
virtual void Clear (Option_t *="")
virtual TObject * Clone (const char *newname="") const
virtual Int_t Compare (const TObject *obj) const
virtual void Copy (TObject &object) const
virtual void Delete (Option_t *option="")
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
virtual void Draw (Option_t *option="")
virtual void DrawClass () const
virtual TObject * DrawClone (Option_t *option="") const
virtual void Dump () const
virtual void Error (const char *method, const char *msgfmt,...) const
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
virtual void Fatal (const char *method, const char *msgfmt,...) const
virtual TObject * FindObject (const char *name) const
virtual TObject * FindObject (const TObject *obj) const
virtual Option_t * GetDrawOption () const
virtual const char * GetIconName () const
virtual const char * GetName () const
virtual char * GetObjectInfo (Int_t px, Int_t py) const
virtual Option_t * GetOption () const
virtual const char * GetTitle () const
virtual UInt_t GetUniqueID () const
virtual Bool_t HandleTimer (TTimer *timer)
virtual ULong_t Hash () const
Bool_t HasInconsistentHash () const
virtual void Info (const char *method, const char *msgfmt,...) const
virtual Bool_t InheritsFrom (const char *classname) const
virtual Bool_t InheritsFrom (const TClass *cl) const
virtual void Inspect () const
void InvertBit (UInt_t f)
virtual TClass * IsA () const
Bool_t IsDestructed () const
virtual Bool_t IsEqual (const TObject *obj) const
virtual Bool_t IsFolder () const
R__ALWAYS_INLINE Bool_t IsOnHeap () const
virtual Bool_t IsSortable () const
R__ALWAYS_INLINE Bool_t IsZombie () const
virtual void ls (Option_t *option="") const
void MayNotUse (const char *method) const
virtual Bool_t Notify ()
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
void operator delete (void *ptr)
void operator delete (void *ptr, void *vp)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, void *vp)
void * operator new (size_t sz)
void * operator new (size_t sz, void *vp)
void * operator new[] (size_t sz)
void * operator new[] (size_t sz, void *vp)
TObject & operator= (const TObject &rhs)
virtual void Paint (Option_t *option="")
virtual void Pop ()
virtual void Print (Option_t *option="") const
virtual Int_t Read (const char *name)
virtual void RecursiveRemove (TObject *obj)
void ResetBit (UInt_t f)
virtual void SaveAs (const char *filename="", Option_t *option="") const
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
void SetBit (UInt_t f)
void SetBit (UInt_t f, Bool_t set)
virtual void SetDrawOption (Option_t *option="")
virtual void SetUniqueID (UInt_t uid)
virtual void Streamer (TBuffer &)
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
virtual void SysError (const char *method, const char *msgfmt,...) const
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
Int_t TestBits (UInt_t f) const
virtual void UseCurrentStyle ()
virtual void Warning (const char *method, const char *msgfmt,...) const
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const

Public Attributes

Int_t volumeUID
Double_t length
Double_t width
TVector3 A
TVector3 B
TVector3 C
TVector3 D
TVector3 center
TVector3 perp
Public Attributes inherited from TObject
 kIsOnHeap
 kNotDeleted
 kZombie
 kInconsistent
 kBitMask
 kSingleKey
 kOverwrite
 kWriteDelete
 kObjInCanvas
 kCanDelete
 kMustCleanup
 kIsReferenced
 kHasUUID
 kCannotPick
 kNoContextMenu
 kInvalidObject

Private Attributes

bool IsInvalid

Additional Inherited Members

Static Public Member Functions inherited from TObject
static TClass * Class ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()
static Longptr_t GetDtorOnly ()
static Bool_t GetObjectStat ()
static void SetDtorOnly (void *obj)
static void SetObjectStat (Bool_t stat)
Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
void MakeZombie ()
Static Protected Member Functions inherited from TObject
static void SavePrimitiveConstructor (std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
static void SavePrimitiveDraw (std::ostream &out, const char *variable_name, Option_t *option=nullptr)
static TString SavePrimitiveVector (std::ostream &out, const char *prefix, Int_t len, Double_t *arr, Bool_t empty_line=kFALSE)
Protected Attributes inherited from TObject
 kOnlyPrepStep

Detailed Description

Definition at line 12 of file BmnTof1GeoUtils.h.

Member Enumeration Documentation

◆ Side_t [1/2]

Enumerator
kRight 0 
kLeft 1 
kInvalid -1 
kUpper 0 
kLower 1 
kRight 0 
kLeft 1 
kInvalid -1 
kUpper 0 
kLower 1 

Definition at line 18 of file BmnTof1GeoUtils.h.

◆ Side_t [2/2]

Enumerator
kRight 0 
kLeft 1 
kInvalid -1 
kUpper 0 
kLower 1 
kRight 0 
kLeft 1 
kInvalid -1 
kUpper 0 
kLower 1 

Definition at line 18 of file BmnTof1GeoUtils.h.

Constructor & Destructor Documentation

◆ LRectangle1() [1/4]

LRectangle1::LRectangle1 ( )
inline

Definition at line 37 of file BmnTof1GeoUtils.h.

References IsInvalid, kInvalid, and volumeUID.

◆ LRectangle1() [2/4]

LRectangle1::LRectangle1 ( Int_t uid,
const TVector3 & a,
const TVector3 & b,
const TVector3 & c,
const TVector3 & d,
bool check = false )

Definition at line 345 of file BmnTof1GeoUtils.cxx.

References A, B, C, CheckInValid(), D, d, IsInvalid, and volumeUID.

Here is the call graph for this function:

◆ LRectangle1() [3/4]

LRectangle1::LRectangle1 ( )
inline

Definition at line 37 of file BmnTof1GeoUtils.h.

References IsInvalid, kInvalid, and volumeUID.

◆ LRectangle1() [4/4]

LRectangle1::LRectangle1 ( Int_t uid,
const TVector3 & a,
const TVector3 & b,
const TVector3 & c,
const TVector3 & d,
bool check = false )

References d.

Member Function Documentation

◆ CalculateLengthnWidth() [1/2]

void LRectangle1::CalculateLengthnWidth ( )
inline

Definition at line 76 of file BmnTof1GeoUtils.h.

References A, TMath::Abs(), B, C, length, and width.

Referenced by BmnTof1GeoUtils::ParseTGeoManager701().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CalculateLengthnWidth() [2/2]

void LRectangle1::CalculateLengthnWidth ( )
inline

Definition at line 76 of file BmnTof1GeoUtils.h.

References A, TMath::Abs(), B, C, length, and width.

Here is the call graph for this function:

◆ CheckInValid() [1/2]

void LRectangle1::CheckInValid ( )
inline

Definition at line 88 of file BmnTof1GeoUtils.h.

References A, B, C, D, TVector3::Dot(), TObject::Dump(), and IsInvalid.

Referenced by LRectangle1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckInValid() [2/2]

void LRectangle1::CheckInValid ( )
inline

Definition at line 88 of file BmnTof1GeoUtils.h.

References A, B, C, D, TVector3::Dot(), TObject::Dump(), and IsInvalid.

Here is the call graph for this function:

◆ DistanceFromPointToLine() [1/2]

Double_t LRectangle1::DistanceFromPointToLine ( const TVector3 * pos,
const TVector3 & P1,
const TVector3 & P2 ) const

Definition at line 362 of file BmnTof1GeoUtils.cxx.

◆ DistanceFromPointToLine() [2/2]

Double_t LRectangle1::DistanceFromPointToLine ( const TVector3 * pos,
const TVector3 & P1,
const TVector3 & P2 ) const

◆ DistanceFromPointToLineSegment() [1/2]

Double_t LRectangle1::DistanceFromPointToLineSegment ( const TVector3 * pos,
const TVector3 & P1,
const TVector3 & P2 ) const

Definition at line 369 of file BmnTof1GeoUtils.cxx.

References TVector3::Dot(), TVector3::Mag(), and v.

Referenced by MinDistanceToEdge(), and MinDistanceToEdge701().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DistanceFromPointToLineSegment() [2/2]

Double_t LRectangle1::DistanceFromPointToLineSegment ( const TVector3 * pos,
const TVector3 & P1,
const TVector3 & P2 ) const

◆ Dump() [1/2]

void LRectangle1::Dump ( const char * comment,
std::ostream & out = std::cout ) const

◆ Dump() [2/2]

void LRectangle1::Dump ( const char * comment,
std::ostream & out = std::cout ) const

◆ GetCenter() [1/2]

TVector3 LRectangle1::GetCenter ( ) const
inline

Definition at line 51 of file BmnTof1GeoUtils.h.

References A, B, C, and D.

◆ GetCenter() [2/2]

TVector3 LRectangle1::GetCenter ( ) const
inline

Definition at line 51 of file BmnTof1GeoUtils.h.

References A, B, C, and D.

◆ GetInteriorAngle() [1/2]

void LRectangle1::GetInteriorAngle ( int vertexIndex) const
inline

Definition at line 50 of file BmnTof1GeoUtils.h.

◆ GetInteriorAngle() [2/2]

void LRectangle1::GetInteriorAngle ( int vertexIndex) const
inline

Definition at line 50 of file BmnTof1GeoUtils.h.

◆ GetLength() [1/2]

Double_t LRectangle1::GetLength ( ) const
inline

Definition at line 48 of file BmnTof1GeoUtils.h.

References length.

Referenced by BmnTOF1Detector::SetGeo().

Here is the caller graph for this function:

◆ GetLength() [2/2]

Double_t LRectangle1::GetLength ( ) const
inline

Definition at line 48 of file BmnTof1GeoUtils.h.

References length.

◆ GetWidth() [1/2]

Double_t LRectangle1::GetWidth ( ) const
inline

Definition at line 49 of file BmnTof1GeoUtils.h.

References width.

◆ GetWidth() [2/2]

Double_t LRectangle1::GetWidth ( ) const
inline

Definition at line 49 of file BmnTof1GeoUtils.h.

References width.

◆ InitCenterPerp() [1/2]

void LRectangle1::InitCenterPerp ( )
inline

Definition at line 70 of file BmnTof1GeoUtils.h.

References A, B, C, center, D, and perp.

Referenced by BmnTof1GeoUtils::ParseTGeoManager(), and BmnTof1GeoUtils::ParseTGeoManager701().

Here is the caller graph for this function:

◆ InitCenterPerp() [2/2]

void LRectangle1::InitCenterPerp ( )
inline

Definition at line 70 of file BmnTof1GeoUtils.h.

References A, B, C, center, D, and perp.

◆ isInvalid() [1/2]

bool LRectangle1::isInvalid ( ) const
inline

Definition at line 52 of file BmnTof1GeoUtils.h.

References IsInvalid.

◆ isInvalid() [2/2]

bool LRectangle1::isInvalid ( ) const
inline

Definition at line 52 of file BmnTof1GeoUtils.h.

References IsInvalid.

◆ MinDistanceToEdge() [1/2]

Double_t LRectangle1::MinDistanceToEdge ( const TVector3 * pos,
Side_t & side ) const

Definition at line 388 of file BmnTof1GeoUtils.cxx.

References A, B, C, D, DistanceFromPointToLineSegment(), kLeft, and kRight.

Referenced by BmnTof1HitProducer::Exec().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MinDistanceToEdge() [2/2]

Double_t LRectangle1::MinDistanceToEdge ( const TVector3 * pos,
Side_t & side ) const

◆ MinDistanceToEdge701() [1/2]

Double_t LRectangle1::MinDistanceToEdge701 ( const TVector3 * pos,
Side_t & side ) const

Definition at line 403 of file BmnTof1GeoUtils.cxx.

References A, B, C, D, DistanceFromPointToLineSegment(), kLower, and kUpper.

Referenced by BmnTof1HitProducer::Exec().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MinDistanceToEdge701() [2/2]

Double_t LRectangle1::MinDistanceToEdge701 ( const TVector3 * pos,
Side_t & side ) const

◆ Print() [1/2]

void LRectangle1::Print ( std::ostream & out,
const TVector3 & point,
const char * comment = nullptr ) const

◆ Print() [2/2]

void LRectangle1::Print ( std::ostream & out,
const TVector3 & point,
const char * comment = nullptr ) const

◆ Shift() [1/2]

void LRectangle1::Shift ( const TVector3 & shift)
inline

Definition at line 62 of file BmnTof1GeoUtils.h.

References A, B, C, and D.

◆ Shift() [2/2]

void LRectangle1::Shift ( const TVector3 & shift)
inline

Definition at line 62 of file BmnTof1GeoUtils.h.

References A, B, C, and D.

Member Data Documentation

◆ A

◆ B

◆ C

◆ center

◆ D

◆ IsInvalid

bool LRectangle1::IsInvalid
private

Definition at line 15 of file BmnTof1GeoUtils.h.

Referenced by LRectangle1(), LRectangle1(), CheckInValid(), and isInvalid().

◆ length

Double_t LRectangle1::length

Definition at line 33 of file BmnTof1GeoUtils.h.

Referenced by CalculateLengthnWidth(), and GetLength().

◆ perp

TVector3 LRectangle1::perp

Definition at line 35 of file BmnTof1GeoUtils.h.

Referenced by InitCenterPerp().

◆ volumeUID

◆ width

Double_t LRectangle1::width

Definition at line 33 of file BmnTof1GeoUtils.h.

Referenced by CalculateLengthnWidth(), and GetWidth().


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